如何在 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中对不存在的字段进行排序/排序[重复]