본문 바로가기

PYTHON/Django

Django 유저모델 커스터마이징시 발생하는 에러

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

 

분명 튜토리얼에서 시킨대로 소스코드를 작성했는데 자꾸 makemigration을 진행하면 위와같은 오류가 발생했다.

처음엔 ERROR 코드도 읽어보지도 않고 문법상 오류가 있는지 찾는 등 이상한 삽질을 했는데 생각보다 간단한 문제였다.

 

 

Finally, specify the custom model as the default user model for your project using the AUTH_USER_MODEL setting in your settings.py:

AUTH_USER_MODEL = 'customauth.MyUser'

 

다행히 스택오버플로우에 나와 똑같은 실수를 했던 사람이 있어서 비교적 빠른시간 내에 문제를 해결 할 수 있었다.

(튜토리얼의 맨 마지막줄에 있던 이 부분을 보지않고 넘어갔다.)

 

AbstractUser를 상속받은 User 모델을 새로 만들었으므로, 이 모델을 유저모델로 사용하기 위해 settings.py에도

추가적으로 설정이 필요했다.