django: скрыть типы моделей без экземпляров на странице администратора - PullRequest
0 голосов
/ 05 сентября 2010

Скажем, у меня есть приложение с ModelA, ModelB и ModelC

Для страницы администрирования моего приложения (/ admin / app), как мне подключиться к отображению страницы "Администрирование приложения", чтобы я мог скрыть пустые типы моделей (не имеющие экземпляров)?

1 Ответ

0 голосов
/ 06 сентября 2010

Это большая задача, потому что вам придется динамически регистрировать / отменять регистрацию приложений в соответствии с результатами запроса к базе данных / ORM (по крайней мере, count ()) для каждой из моделей, которые каждая из INSTALLED_APPSсодержит.

Каждый раз, когда вы просматривали администратора.

Хотя это само по себе достаточно неприятно, имейте в виду, что admin.py для каждого приложения обрабатывается во время перезапуска / перезагрузки сервера (IIRC),так что вы не могли бы надеяться подключить что-то симпатичное, например, те поиски БД, потому что оно запускается только один раз и не отражает фактического состояния моделей, в которых в данный момент хранятся объекты в вашей базе данных.

Лучшее перемещениеОставь это.Если нет объектов для просмотра для данной модели, то нет объектов для просмотра для данной модели.

Если вы беспокоитесь о том, чтобы ваш клиент / пользователь создавал новые модели там, где они этого не должны, то это комбинация пользовательских образований и прав администратора, с которыми вы можете разобраться.

Как сказано в нескольких местах: «Админ не ваше приложение».Если настройка выходит за рамки тривиального, пришло время написать свои собственные взгляды.Вы по-прежнему можете подключить их к сайту администратора, переопределив базовый шаблон администратора и даже обслуживая их по тому же корневому пути, что и остальные администраторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...