我实际上必须结合Mohammad和NeErAj的建议。
当我试图将Groups
移动到Authorization
部分(该应用包含自定义User
模型)时,它创建了组的重复项。 Django仍然想插入默认的auth_group
,我无法弄清楚如何摆脱。
# ./models.py
from django.contrib.auth.models import Group
class Group(Group):
pass
class Meta:
app_label = 'authentication'
# ./admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User, SecurityQuestions, Group
admin.site.register(User, UserAdmin)
admin.site.register(SecurityQuestions)
admin.site.register(Group)
AUTHORIZATION
-------------
Groups
Security Questions
Users
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
由于我使用的是定制User
模型,我想它会更容易将其移动到app_label = 'auth'
。这样我就不必与默认的auth_group
战斗。最终做了以下内容:
# ./models.py
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
...
class Meta:
db_table = 'Users'
class SecurityQuestions(models.Model):
...
class Meta:
app_label = 'auth'
db_table = 'Security_Questions'
verbose_name = 'Security Question'
verbose_name_plural = 'Security Questions'
class ProxyUser(User):
pass
class Meta:
app_label = 'auth'
proxy = True
verbose_name = 'User'
verbose_name_plural = 'Users'
# ./admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User, SecurityQuestions, ProxyUser
admin.site.register(ProxyUser, UserAdmin)
admin.site.register(SecurityQuestions)
这让一切看起来像:
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
Security Questions
Users
您可以使用代理模式,将有助于显示在不同的应用模型在管理 –