DB에 데이터를 접근해서 for문으로 출력하는 부분을 하고 있었는데 submit버튼을 눌러도 새로고침만 될 뿐 출력이 안 되는 문제가 있었다.
(for문이 아니라 입력할 때마다 바로바로 출력되는 코드에서는 새로입력할 때마다 기존의 입력값이 사라지는 문제가 있었음)
개발자도구를 보면 입력값이 있긴 한 것 같은데 당시엔 뭐가 문제인지 몰랐다..
강의에 있는 코드랑 똑같은데 결국 뭐가 문제인지 몰라서 처음부터 다시 만들었었다
강의를 중간에 혼자서 projectapp을 구현하기 위해 생각하다가 하 이게 데이터베이스 문제였음을 깨달았다. 걍 데이터베이스에서 가져올 게 없었던 것이다..
model.py에 들어가보니 아니나다를까
text를 test로 입력했었던 것. 진짜 미친듯.. view의 문제라고만 생각했었다. 역시 장고의 구성에 대해 빠삭하게 알고있어야하는구나
그래서 migration을 리셋하고 다시 migrate를 하기로 했다.
python manage.py showmigrations
[x]표시된 파일이 해당 앱에서 migrate 되어있다는 표시이다.
나는 저 accountapp에 있는 migration을 취소하고 싶은거다.
python manage.py migrate --fake accountapp zero
실제 migration파일인 0001_intial 파일삭제 후 showmigrations 실행
그럼 accountapp에 있는 migrations가 아예 사라진 것을 볼 수 있다.
여기까지 한 뒤에 바로 새 migrations를 만들고 migrate시켜버리면(migration fake) 아래와 같은 에러가 뜬다.
테이블명을 제대로 변경하고 migration을 실행했는데 왜 오류가 생겼는지 모르겠다.
(db에 변경이 있을 땐 migration을 실행해야함)
어쨌든 그냥 db를 삭제하고 테이블도 초기화하는 방향으로 가기로 했다.
참고:
https://simpleisbetterthancomplex.com/tutorial/2016/07/26/how-to-reset-migrations.html
서버를 실행하니 제대로 작동한다. 드디어!! ㅠㅠ