python manage.py makemigrations 无法在管理面板中注册模型

66 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第N天,点击查看活动详情

问题描述:

if modeladmin.model._meta.app_config in app_configs: AttributeError: 'Apitest' object has no attribute 'model'

解决方法:

查了很多资料,发现是注册的时候写错了 admin.py (最后一行写错) # 无法在管理面板中注册模型,问题是解决了,但原理还是没看明白,我看了源码,接收的是(*args, **kwargs),理论上我这样写应该也能注册上。待求证原理(哪位大佬如果知道,也请告知一下,菜鸟求教)

from django.contrib import admin

# Register your models here.
from apitest.models import Apitest, Apistep


class ApistepAdmin(admin.TabularInline):
    list_display = ['apiname', 'apiurl', 'apistep', 'apitparamvalue', 'apimethod', 'apitresult',
                    'apitresponse', 'apitstatus', 'id', 'apitest', 'create_time', 'update_time']
    model = Apistep
    extra = 1


class ApitestAdmin(admin.ModelAdmin):
    list_display = ['apitestname', 'apitestdesc', 'apitester', 'apitestresult', 'create_time', 'update_time', 'id']

    inlines = [ApistepAdmin]


admin.site.register(Apitest, Apistep)
复制代码

可以这样写

admin.site.register(Apitest)
admin.site.register(Apistep)
复制代码

也可以这样写(待验证)

admin.site.register([Cart, CartItem])