如何在 django admin 中进行分类?

Posted

技术标签:

【中文标题】如何在 django admin 中进行分类?【英文标题】:How to categorize in django admin? 【发布时间】:2022-01-13 23:40:50 【问题描述】:

我已经在admin.py注册我的模型了

admin.site.register(Food_Gallery)
admin.site.register(Gym)
admin.site.register(Gym_Gallery)
admin.site.register(Gym_Pricing_Plans)
admin.site.register(Gym_Programs)
admin.site.register(Trainer)
admin.site.register(Farm)
admin.site.register(Farm_Gallery)
admin.site.register(Farm_Products)

这会在 django admin 的单个页面中显示所有模型

我想将这些模型归类为特定的类别,并显示它们各自的模型。如何管理?

某些例子

Food
Gym
Farm

【问题讨论】:

我认为这个答案应该给出适当的答案:***.com/a/46340047/7839727 【参考方案1】:

请为不同的模型类别创建一个单独的应用程序。

您可以创建这样的应用程序 (settings.py):

python manage.py startapp food
python manage.py startapp gym
python manage.py startapp farm

INSTALLED_APP += [
   'farm',
   'food',
   'gym',
]

admin.py:

admin.site.register(food)
admin.site.register(gym)
admin.site.register(farm)

这是正确的方式。

【讨论】:

【参考方案2】:

有两种方法。

1.自定义 Django 管理站点。

https://docs.djangoproject.com/en/4.0/intro/tutorial07/#customize-the-admin-index-page

2。为每个类别创建不同的应用。

在终端中,

python manage.py startapp food
python manage.py startapp gym
python manage.py startapp farm

在 food/admin.py 文件中,

admin.site.register(Food_Gallery)

在gym/admin.py文件中,

admin.site.register(Gym)
admin.site.register(Gym_Gallery)
admin.site.register(Gym_Pricing_Plans)
admin.site.register(Gym_Programs)
admin.site.register(Trainer)

在农场/admin.py 文件中,

admin.site.register(Farm)
admin.site.register(Farm_Gallery)
admin.site.register(Farm_Products)

您还必须将您的应用程序添加到settings.py 文件中,也许您需要修改一些代码。

每种方法都有其优点和缺点,因此取决于您使用哪种方法。

【讨论】:

以上是关于如何在 django admin 中进行分类?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止在 Django Admin 中对 FK / MTM 字段进行自我(递归)选择

Django如何重设Admin密码(转)

如何在django admin中对不存在的字段进行排序/排序[重复]

在 Django admin 中,如何按组过滤用户?

如何在 Django Admin 的搜索框中添加占位符文本?

如何在 django admin change_form 中实现 pygment 语法高亮?