Nach einer projet erstellen, dann eine App und das Hinzufügen dieser App zu meinem INSTALLED_APPS
, habe ich versucht, durch Subklassen AbstractUser
in meinem models.py
eine benutzerdefinierte Benutzerklasse zu machen:Warum scheint das Ändern von AUTH_USER_MODEL erforderlich zu sein, um AbstractUser abzuleiten?
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
Dann habe ich versucht makemigrations
und ich habe dies zu laufen Fehler:
SystemCheckError: System check identified some issues:
ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'CustomUser.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'CustomUser.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'CustomUser.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'CustomUser.user_permissions'.
main.CustomUser.groups: (fields.E304) Reverse accessor for 'CustomUser.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.groups' or 'User.groups'.
main.CustomUser.user_permissions: (fields.E304) Reverse accessor for 'CustomUser.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'CustomUser.user_permissions' or 'User.user_permissions'.
Hinzufügen AUTH_USER_MODEL = 'main.CustomUser'
(main
ist meine app) scheint dieses Problem zu lösen (makemigrations
gelingt es, genau wie migrate
), aber ich weiß nicht bekommen, warum ich diesen Fehler sogar wenn ich nur diese Unterklasse definiere, ohne sie tatsächlich zu benutzen,.
Ich würde gerne verstehen, warum dieses Problem an erster Stelle aufgetreten ist, und wie fügt das Hinzufügen AUTH_USER_MODEL
es zu lösen. Ich verstehe nicht wirklich, warum es so aussieht, als gäbe es einen Konflikt zwischen meinem CustomUser
und auth.User
.