プロジェクトを作成してからアプリを作成し、このアプリを my に追加した後、 myでINSTALLED_APPS
サブクラス化してカスタム User クラスを作成しようとしました:AbstractUser
models.py
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
is my app)を追加すると、この問題が解決するようです (makemigrations
のように成功します) が、このサブクラスを実際に使用せずにmigrate
定義しただけでも、このエラーが発生する理由がわかりません。
この問題が最初に発生した理由と、追加によってどのように解決されるかを理解したいと思いAUTH_USER_MODEL
ます。CustomUser
との間に競合があるように見える理由がよくわかりませんauth.User
。