После создания PROJET, то приложения и добавить это приложение к моим INSTALLED_APPS
, я попытался сделать пользовательский класс пользователя по подклассам AbstractUser
в моем models.py
:Почему требуется изменить AUTH_USER_MODEL для подкласса AbstractUser?
from django.contrib.auth.models import AbstractUser
class CustomUser(AbstractUser):
pass
Затем я попытался запустить makemigrations
, и я получил это ошибка:
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'.
Добавление AUTH_USER_MODEL = 'main.CustomUser'
(main
мое приложение), кажется, решить эту проблему (makemigrations
успешно, как и migrate
), но я не понимаю, почему я получаю эту ошибку даже если я просто определю этот подкласс , фактически не используя его.
Я хотел бы понять, почему эта проблема возникла на первом месте, и как это делает добавление AUTH_USER_MODEL
. Я действительно не понимаю, почему это похоже на конфликт между моими CustomUser
и auth.User
.