Установить порядок приложений и моделей в админ панели Django - PullRequest
1 голос
/ 06 октября 2019

По умолчанию панель администратора Django выглядит для меня так:

enter image description here

Я хочу изменить порядок моделей в разделе ProfileТаким образом, с помощью кодов здесь и здесь я смог изменить порядок названий моделей в панели администратора Django:

class MyAdminSite(admin.AdminSite):
    def get_app_list(self, request):
        """
        Return a sorted list of all the installed apps that have been
        registered in this site.
        """
        ordering = {
            "Users": 1,
            "Permissions": 2,
            "Activities": 3,
        }
        app_dict = self._build_app_dict(request)
        # a.sort(key=lambda x: b.index(x[0]))
        # Sort the apps alphabetically.
        app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower())

        # Sort the models alphabetically within each app.
        for app in app_list:
            app['models'].sort(key=lambda x: ordering[x['name']])

        return app_list

mysite = MyAdminSite()
admin.site = mysite
sites.site = mysite

новый внешний вид:

enter image description here

Но, как вы видите, я потерял раздел AUTHENTICATION AND AUTHORIZATION;Что я должен сделать, чтобы иметь все разделы и в то же время иметь свой собственный заказ для Profile раздела?

1 Ответ

0 голосов
/ 06 октября 2019

Позвоните get_app_list() сначала super, вот так:

class MyAdminSite(admin.AdminSite):
def get_app_list(self, request):
    all_list = super().get_app_list(request)
    # reorder the app list as you like
    return app_list


mysite = MyAdminSite()
admin.site = mysite
sites.site = mysite
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...