1. ホーム
  2. python

[解決済み] auth.User.groups: (fields.E304) 'User.groups' の逆アクセサリが 'UserManage.groups' の逆アクセサリと衝突しています。

2022-10-07 01:05:38

質問

私の Django プロジェクトでは user_manage アプリがあります。

という名前のモデルを作成します。 UserManage の中に user_manage アプリのmodel.pyにあります。

from django.db import models
from django.contrib.auth.models import AbstractUser

class UserManage(AbstractUser):
    username = models.CharField(max_length=12)

それから、実行する。

$ python3 manage.py makemigrations

そこでエラーが発生します。

ERRORS:
auth.User.groups: (fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'UserManage.groups'.
        HINT: Add or change a related_name argument to the definition for 'User.groups' or 'UserManage.groups'.
auth.User.user_permissions: (fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'UserManage.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'UserManage.user_permissions'.
users_management.UserManage.groups: (fields.E304) Reverse accessor for 'UserManage.groups' clashes with reverse accessor for 'User.groups'.
        HINT: Add or change a related_name argument to the definition for 'UserManage.groups' or 'User.groups'.
users_management.UserManage.user_permissions: (fields.E304) Reverse accessor for 'UserManage.user_permissions' clashes with reverse accessor for 'User.user_permissions'.
        HINT: Add or change a related_name argument to the definition for 'UserManage.user_permissions' or 'User.user_permissions'.

どのように解決するのですか?

以下を settings.py :

AUTH_USER_MODEL = "users_management.UserManage" 

より一般的には

AUTH_USER_MODEL = 'YourAppName.YourClassName'

  • YourAppName : これはユーザーモデルを持つアプリの名前です。
  • YourClassName : の中で使われるクラスの名前です。 models.py ファイル