我實際上必須結合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
您可以使用代理模式,將有助於顯示在不同的應用模型在管理 –