我没有找到解决问题的方法,但是我已经找到了解决方法。
首先,我们需要在应用程序中创建模块(例如admin.py),然后扩展AdminSite类:
from django.contrib.admin import AdminSiteclass MyAdminSite(AdminSite): ...
然后,在模块底部,我们需要创建MyAdminSite的实例并从Django注册内置模型:
site = MyAdminSite()site.register(Group, GroupAdmin)site.register(User, UserAdmin)
必要进口:
from django.contrib.auth.models import Group, Userfrom django.contrib.auth.admin import GroupAdmin, UserAdmin
在我们的网站网址模块中,我们需要覆盖原始网站对象:
from .admin import siteadmin.site = siteadmin.autodiscover()...url(r'^admin/', admin.site.urls)...
我们需要做的最后更改是注册我们的模型。我们需要记住的一件事是,我们不能像这样使用register作为装饰器:
@admin.register(MyModel)class MyModelAdmin(admin.ModelAdmin): ...
要么:
@admin.site.register(MyModel)class MyModelAdmin(admin.ModelAdmin): ...
我们需要定义我们的ModelAdmin类,然后在MyAdminSite对象上调用register:
class MyModelAdmin(admin.ModelAdmin): ...admin.site.register(MyModel, MyModelAdmin)
这是唯一对我有用的解决方案。



