파이썬 python/django

[django] no such table: auth_user

Aytekin 2022. 3. 24. 23:36
728x90

python manage.py createsuperuser로 아이디와 패스워드를 만들려고 하는데 이런 오류가 뜬다.

구글링을 통해 찾아보니 말 그대로 DB에 테이블이 없어서 나타나는 문제점이라고 한다.

1. python manage.py makemigrations

2. python manage.py migrate

이 두가지 명령어를 순서대로 실행시켜서 migrate를 해주고 나서 다시 createsuperuser하면 된다.

 


 

장고 프로젝트를 새로 시작했을 때 기본적으로 세팅이 되어있는 모델들이 있는데 이 모델들도 맨 처음에는 migration을 해주어야한다.

 

python manage.py makemigrations명령어는 모델에 변화가 있거나 모델을 새로 생성했을 경우 변경사항을 업데이트해주는 명령어다. DB모델에 변화가 있다면 이 명령어를 실행시킨 후 migrate를 해주어야 한다.

나는 fc_user라는 앱에 새로운 모델을 정의해주었기에 fc_user\migrations\0001_initial.py라는 새로운 파일이 생기고 변화된 migration정보가 등록이 되었다.

 

이제 마지막으로 python manage.py migrates명령어는 makemigrations를 통해서 만든 모델변경사항을 실제로 적용시킨다. 즉 나의 경우엔 테이블이 새로 생성이 된다.

프로젝트를 만들고 처음 migrate를 해서 장고의 기본세팅인 admin, auth, contenttypes, sessions테이블이 생성되고 또 아까 내가 fc_user라는 앱에 생성했던 모델도 반영이 된 것을 확인할 수 있다.

 

이렇게 많은 테이블을 한번에 만들어주다니,,, 장고는 참 편리한것 같다.

이제 python manage.py createsuperuser를 통해서 admin페이지에서 사용할 superuser를 만들면 된다!

 

연습용으로 만들고 있는 앱이라 패스워드를 짧게 만들었더니 길게 만들라고 뭐라한다...

그냥 만들겠다고 하니 만들어주긴 한다 ㅎㅎ

728x90