Это на самом деле покрыто в самой нижней части , Часть 2 Учебного руководства .
Django Здесь является соответствующим разделом:
Настраивают администраторскую индексную страницу
На подобной ноте, Вы могли бы хотеть настроить стиль администраторской индексной страницы Django.
По умолчанию, это отображает все приложения в INSTALLED_APPS, которые были зарегистрированы в приложении администрирования в алфавитном порядке. Можно хотеть внести существенные изменения в расположение. В конце концов, индекс является, вероятно, самой важной страницей администратора, и это должно быть просто в использовании.
шаблоном для настройки является admin/index.html. (Сделайте то же как с admin/base_site.html в предыдущем разделе - копирует его от каталога по умолчанию до Вашего пользовательского шаблонного каталога.) Редактируют файл, и Вы будете видеть, что он использует переменную шаблона, названную app_list. Та переменная содержит каждое установленное приложение Django. Вместо того, чтобы использовать это, Вы можете ссылки твердого кода на определенные для объекта администраторские страницы любым способом, которым Вы думаете, является лучшим.
Это - просто дикий удар в темноте, но является там любым шансом, что порядок, в котором Вы называете admin.site.register (< Образцовый класс>, < класс ModelAdmin>), может определить порядок дисплея? На самом деле я сомневаюсь, что это работало бы, потому что я полагаю, что Django поддерживает реестр Модели-> объекты ModelAdmin, реализованные как стандартный словарь Python, который не поддерживает итеративное упорядочивание.
, Если это не ведет себя путь, Вы хотите, можно всегда играть вокруг с источником в django/contrib/admin. При необходимости в итеративном поддержанном порядке Вы могли бы заменить объект _registry в классе AdminSite (в admin/sites.py) с UserDict или DictMixin, который поддерживает порядок вставки для ключей. (Но послушайте этот совет с мелкой частицей соли, так как я никогда не делал эти виды изменений сам, и я только заставляю образованное предположить, как Django выполняет итерации по набору объектов ModelAdmin. Я действительно думаю, что django/contrib/admin/sites.py является местом для поиска этого кода, тем не менее, и класса AdminSite и регистра () и индекс (), методы в особенности - то, что Вы хотите.)
, Очевидно, самой хорошей вещью здесь была бы простая опция для Вас указать в Вашем собственном/admin.py модуле. Я уверен, что это - вид ответа, который Вы надеялись получить. Я не уверен, существуют ли те опции, все же.
Мое решение состояло в том, чтобы создать подклассы django.contrib.admin.sites.AdminSite и django.contrib.admin.options.ModelAdmin.
Я сделал это, чтобы показать более наглядный название для каждого приложения и порядок внешнего вида моделей в каждом приложении. Итак, у меня есть dict в моем settings.py, который сопоставляет app_labels с описательными именами и порядком, в котором они должны появляться, модели упорядочены по порядковому полю, которое я указываю в каждом ModelAdmin, когда я регистрирую их на сайте администратора.
Хотя создание собственных подклассов AdminSite и ModelAdmin поощряется в документации, мое решение в конечном итоге выглядит уродливым хаком.