Как правильно управлять категориями в админке django?
Я зарегистрировал свои модели в 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
Я хочу разделить эти модели на определенные категории и отобразить соответствующие модели. Как это сделать?
Определенные примеры, как
Food
Gym
Farm
вам нужно объявить новое приложение и добавить его в installed_apps
, а затем добавить app_label
к вашим моделям
смотрите app_label
здесь
Простой способ Пожалуйста, создайте отдельное приложение для отдельных категорий моделей.
Вам нужно создать приложение типа
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)
Это способ записи.
Хм, я не могу придумать простой способ сделать это, поскольку в админке django нет понятия иерархии, кроме приложений и моделей. Вы можете попробовать подход, предложенный Akash, использовать пользовательские страницы администраторов с StackedInline
s или вы можете использовать django-admirarchy, но я не уверен, что это то, что вам нужно.
Есть два способа.
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)
В файле farm/admin.py,
admin.site.register(Farm)
admin.site.register(Farm_Gallery)
admin.site.register(Farm_Products)
Вам также нужно добавить свои приложения в файл settings.py
и, возможно, вам нужно изменить некоторые из ваших кодов.
Каждый метод имеет свои плюсы и минусы, поэтому вы сами решаете, какой из них использовать.