Files
winget.pro/core/admin.py
2023-01-23 17:43:08 +01:00

21 lines
786 B
Python

from django.contrib.admin import AdminSite
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
class AdminSiteWithCustomModelOrder(AdminSite):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.order = {}
def get_app_list(self, request):
app_list = super().get_app_list(request)
for app in app_list:
app['models'].sort(key=lambda m:
self.order.get(app['app_label'] + '.' + m['object_name'], 0)
)
return app_list
def register_with_order(self, model, admin_class, order):
self.order[model._meta.label] = order
self.register(model, admin_class)
site = AdminSiteWithCustomModelOrder()
site.register(User, UserAdmin)