Je devais combiner ce que Mohammad et NeErAj suggéraient.
Lorsque j'ai essayé de déplacer Groups
à la section Authorization
, qui est une application contenant un modèle personnalisé User
, il a créé des doublons des groupes. Django voulait toujours insérer la valeur par défaut auth_group
que je ne pouvais pas comprendre comment se débarrasser de.
# ./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
Depuis que je travaillais avec un modèle personnalisé User
, je pensais que ce serait plus facile de les déplacer vers app_label = 'auth'
. De cette façon, je n'aurais pas à me battre avec la valeur par défaut auth_group
. Nous avons fini par faire ce qui suit:
# ./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)
Cela a tout pour ressembler à:
AUTHORIZATION AND AUTHENTICATION
--------------------------------
Groups
Security Questions
Users
vous pouvez utiliser le modèle de procuration qui aidera à montrer votre modèle dans différentes applications dans l'admin –