如何从Django应用程序向adminpanel添加多个模型?

2024-04-24 00:31:55 发布

您现在位置:Python中文网/ 问答频道 /正文

要将一个应用程序中的单个模型添加到/admin区域,我这样做了:

from django.contrib import admin
from wiki.models import Page, Category, CategoryItem

# register Pages for use in Django admin
class PageAdmin(admin.ModelAdmin):
    pass
admin.site.register(Page, PageAdmin)

这对于一个模型来说很好,但是当我试图注册另外两个(Category和CategoryItem)时,它就崩溃了。在管理界面中为单个Django应用程序添加多个模型的正确方法是什么?在


Tags: djangofrom模型importregister应用程序区域admin
3条回答

这是默认方式:

class PageAdmin(admin.ModelAdmin):
    pass

class CategoryAdmin(admin.ModelAdmin):
    pass

class CategoryItemAdmin(admin.ModelAdmin):
    pass

admin.site.register(Page, PageAdmin)
admin.site.register(Category, CategoryAdmin)
admin.site.register(CategoryItem, CategoryItemAdmin)

如果你有一些未处理的异常,把它添加到问题中,这样我们就可以找出什么是坏的。在

在django 1.5中,我们执行以下操作:

from django.contrib import admin
from wiki.models import Page, Category, CategoryItem


for cls in (Page, Category, CategoryItem):
    admin.site.register(cls)

如果您不在管理门户中显示的模型中进行更改,则无需创建管理项,您几乎可以注册它,如下所示:

from django.contrib import admin
from wiki.models import Page, Category, CategoryItem

admin.site.register(Page)
admin.site.register(Category)
admin.site.register(CategoryItem)

相关问题 更多 >