Задать вопрос
ruchej
@ruchej
Конструктор мебели. Пишу макросы для К3-Мебель

Как разбить на категории в админке в одном приложении?

Когда добавляем классы моделей в админку, то все они на странице админке отображены в одном блоке своего приложения, например см рисунок
92d8e618de514716a97b3467628765bb.png

Можно ли стандартными средствами разбить пункты на группы, что бы отображались в разных блоках? Например, блок "ГЛАВНАЯ" и блок "ГЛАВНАЯ настройки"?
  • Вопрос задан
  • 801 просмотр
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
https://github.com/mishbahr/django-modeladmin-reorder
ADMIN_REORDER = (
    # Keep original label and models
    'sites',

    # Rename app
    {'app': 'auth', 'label': 'Authorisation'},

    # Reorder app models
    {'app': 'auth', 'models': ('auth.User', 'auth.Group')},

    # Exclude models
    {'app': 'auth', 'models': ('auth.User', )},

    # Cross-linked models
    {'app': 'auth', 'models': ('auth.User', 'sites.Site')},

    # models with custom name
    {'app': 'auth', 'models': (
        'auth.Group',
        {'model': 'auth.User', 'label': 'Staff'},
    )},
)
Ответ написан
@marazmiki
Укротитель питонов
Можно ли стандартными средствами разбить пункты на группы, что бы отображались в разных блоках? Например, блок "ГЛАВНАЯ" и блок "ГЛАВНАЯ настройки"?

Можно такое сделать и штатными средствами, но элегантность решения под вопросом. Идея заключается в следующем:
  1. В админке первого приложения app_1.admin не регистрировать модель app_1.Model1
  2. В приложении app_2 нужно создать прокси-модель app_2.Model2, указывающую на app_1.Model1.
  3. Зарегистрировать модель app_2.Model2 в админке второго приложения app_2.admin

В итоге мы получим псевдо-модель во втором приложении, которая фактически находится в первом.

Теоретически, наверное, можно даже создавать прокси-модель прямо в админке второго приложения app_2.admin, но здесь не уверен.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы