본문 바로가기

멋사 10기 졸업 프로젝트/오류

[django] django.db.utils.OperationalError: no such table 오류

django의 데이터베이스 sqlite3에 내가 만든 모델 테이블이 없어서 생기는 오류.

모델을 만들고, 앱도 등록하고, admin화면에도 모델을 등록한 뒤 makemigrations와 migrate를 했는데 계속 오류가 떴다.

 

 

전에 데이터베이스가 꼬여서 생겨 오류가 난 적이 있어서 앱의 migrations파일과 sqlite 데이터를 삭제한 뒤 다시 해도 오류가 생겼다.

 

 

이유를 찾아보니 user model에서 문제가 생긴 듯 했다. 유저 모델을 내가 직접 건드리나 보니 의존성 문젠지 뭔지...

기존의 유저 모델하고 뭔가 꼬여 내가 만든 모델이 migrate가 잘 안된 듯 하다. 

python manage.py makemigrations
python manage.py migrate  

이전에는 이런 식으로 진행했는데, 내가 만든 유저 모델을 등록하기 위해 뒤에 유저 모델을 만든 앱 이름을 붙여서 다시 했더니 에러가 사라지고 createsuperuser도 정상적으로 작동, admin사이트도 잘 들어가졌다.

 

python manage.py makemigrations <app 이름>
python manage.py migrate <app 이름>

 

전부 다 알맞게 했는데 테이블에 모델이 등록이 안되면 이 방식을 시도해보자.