답변 2
0
0
안녕하세요.
나중 에피소드에서 장고 마이그레이션에 대해서 자세히 설명을 드릴 텐데요. 이번 에피소드는 이런 코드로 구현이 됨을 보여드리는 시간입니다. 그래서 자세한 기능 설명이 없는데요.
위의 에러는 제가 영상에서 실행한 python manage.py makemigrations 명령을 입력하실 때, content 필드를 누락하신 상태에서 입력을 하신 듯 합니다. 그래서 관련 데이터베이스 테리블이 content 필드가 누락된 채로 생성이 된 것이구요. 그 후에 모델에 content 필드를 추가하시고
이를 db에 다시 반영하지 않으신 상황입니다. 그러니 장고는 content 필드가 있다고 생각하고, DB에 저장을 시도하지만 데이터베이스 테이블에는 content 컬럼이 없기에 has no column named content 에러가 발생하는 것입니다.
OperationError는 대개 모델 내역과 데이터베이스 내역이 일치하지 않아서 발생하는 문제입니다.
일단 마이그레이션은 이후 에피소드에서 학습하시구요.
일단 임시로 심플하고 빠르게 해결하실려면
개발서버 구동 중이시라면 Ctrl-c 를 입력하시어 중단시켜주시고
db.sqlite3 파일을 삭제해주시구요. (실제 서비스에서는 절대 이러면 안 되지만요)
그리고 blog1/migrations1/0001_initial.py 파일을 삭제해주시고
python manage.py migrate 명령으로 기본 테이블을 생성해주시고
python manage.py makemigrations blog1 명령으로 마이그레이션 파일을 생성해주시고
python manage.py migrate blog1 명령으로 db에 마이그레이션 파일을 적용해주시구요.
python manage.py createsuperuser 명령으로 수퍼유저 계정을 생성하신 후에
python manage.py runserver 명령으로 개발 서버를 구동해서 테스트보세요.
해결되셨다면 본 질문의 상태를 해결됨으로 변경 부탁드립니다.
추가 질문있으시면 남겨주시구요.
화이팅입니다. :-)