環境
WSL2 Ubuntu 22.04.2 LTS
Django>=3.0,<4.0
エラー発生時の状況
Djangoカスタムユーザーモデルの作成後下記のコマンドを実行
./manage.py makemigrations
エラーの内容
ERRORS: auth.User.groups: (fields.E304) Reverse accessor for 'auth.User.groups' clashes with reverse accessor for 'users.User.groups'. HINT: Add or change a related_name argument to the definition for 'auth.User.groups' or 'users.User.groups'. auth.User.user_permissions: (fields.E304) Reverse accessor for 'auth.User.user_permissions' clashes with reverse accessor for 'users.User.user_permissions'. HINT: Add or change a related_name argument to the definition for 'auth.User.user_permissions' or 'users.User.user_permissions'. users.User.groups: (fields.E304) Reverse accessor for 'users.User.groups' clashes with reverse accessor for 'auth.User.groups'. HINT: Add or change a related_name argument to the definition for 'users.User.groups' or 'auth.User.groups'. users.User.user_permissions: (fields.E304) Reverse accessor for 'users.User.user_permissions' clashes with reverse accessor for 'auth.User.user_permissions'. HINT: Add or change a related_name argument to the definition for 'users.User.user_permissions' or 'auth.User.user_permissions'.
エラーの原因
どのユーザーモデルを使用するか設定していないため、デフォルトとカスタムユーザーモデルが競合してしまっている。
エラーの解決方法
settings.pyにAUTH_USER_MODEL = ‘カスタムユーザーユーザーモデルを定義したアプリ名.カスタムユーザーモデル名’を設定すると解決します。
今回のエラーメッセージで考えると下記のように設定します。
AUTH_USER_MODEL = 'users.User'

コメント