Djangoでカスタムユーザーモデルを作成後にmigrationできない

環境

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'

コメント

タイトルとURLをコピーしました