FrameWork/Django

ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'accounts.account', but app 'accounts' doesn't provide model ' 에러 해결

jheaon 2023. 4. 4. 21:08

 

 

상황

django에서 유저 모델을 만들어서 migrate하는 도중에 해당 오류가 발생하였다. 

 

 

해결

https://stackoverflow.com/questions/50324561/valueerror-the-field-admin-logentry-user-was-declared-with-a-lazy-reference

 

ValueError: The field admin.LogEntry.user was declared with a lazy reference

I'm developing a new django project and stuck with migration. I would like to make a UserModel, and in order to do that, I did two things so far. 1. I made AuthUser model and set a Meta class in the

stackoverflow.com

 

해당 부분을 번역해 보자면, 기본 앱 마이그레이션을 적용후에 다시 user 테이블을 건들게 되면 나는 오류라고 한다. 따라서 아래에 있는 방법을 시도해볼 수 있다고 하는데,

 

# comment AUTH_USER_MODEL in settings.py so it points to default User model

python manage.py migrate auth zero

# uncomment to be AUTH_USER_MODEL='recommend.AuthUser'

python manage.py migrate auth

 

나한테는 해당 부분이 되지가 않아서 앱에 있는 migrate 파일과 db 파일을 삭제한 후에 다시 migrate 를 하여 성공시켰다. 

 

 

반드시 아래 해당 순서로 해야 한다.

 

해당 순서로 하지 않으면 DB에 테이블이 안보이던데 이유는 아직 찾지 못했다. 만약 Django 유저를 해당 방법이나 baseuser로 커스텀할경우에는 무조건 "초기"에 설정을 하여야 한다는 사실을 알게 되었다. 

python manage.py makemigrations app_name
python manage.py migrate

 

 


참고 블로그 : https://miraekwak.tistory.com/m/105

 

[Django] AbstractUser를 사용한 UserModel 확장

AbstractUser django에서 제공하는 사용자 모델로 기본적인 사용자 정보에 대해 이미 구현되어 있어 편리하게 관련 기능을 구현할 수 있다. 하지만 추가적으로 필요한 사용자 데이터가 있을 수 있기

miraekwak.tistory.com

 

'FrameWork/Django'의 다른글

  • 현재글 ValueError: The field admin.LogEntry.user was declared with a lazy reference to 'accounts.account', but app 'accounts' doesn't provide model ' 에러 해결

관련글