soc*_*pet 3 django django-models django-admin
无论出于何种原因,我都有与身份验证相关的三个模型,但是在Django Admin中,它们显示在两个不同的组中。例如:
AUTHORIZATION
-------------
Security Questions
Users
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
Run Code Online (Sandbox Code Playgroud)
似乎他们应该在一组之下,我想将它们移到一组之下。
几年前,我遇到了这个问题:
想知道Django 1.11中现在是否有更简单的方法,例如class Meta:在模型或in中使用admin.py。查看文档,还没有发现任何东西。
实际上,我必须结合穆罕默德和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'
Run Code Online (Sandbox Code Playgroud)
# ./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)
Run Code Online (Sandbox Code Playgroud)
AUTHORIZATION
-------------
Groups
Security Questions
Users
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
Run Code Online (Sandbox Code Playgroud)
由于我使用的是自定义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'
Run Code Online (Sandbox Code Playgroud)
# ./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)
Run Code Online (Sandbox Code Playgroud)
这使一切看起来像:
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
Security Questions
Users
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2882 次 |
| 最近记录: |