인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

qwer993님의 프로필 이미지
qwer993

작성한 질문수

파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap

사진 업로드를 위한 ImageField와 업로드된 파일 관리방법

OperationalError at /blog/ 오류가 생겼습니다.ㅠㅠ

작성

·

4.6K

0

models 수정후 OperationalError at /blog/ 가 생겼습니다.(8.21 - 09:50여전히 해결안됨..)

 

답변 6

0

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

현재 데이터베이스에는 이미 블로그 Post 들이 존재하는 상황입니다. 이 상태에서 created 필드를 새로 만들었는데, created는 null일 수 없다고 했습니다. 따라서 이미 존재하는 Post 들에 created를 추가하고 이 created를 빈 값으로 둘 수 없으니 뭔가 채워져야 합니다. 

첫번째 방법. 

현재 처럼 2번을 누르고 빠져나와서 default 값을 적어주는겁니다.  default=timezone.now를 사용하던지 해서 default 값을 정해주는거지요. 그럼 이미 존재하는 Post들의 created는 현재시점이 입력됩니다. 

두번째 방법. 

db.sqlite3를 모두 삭제하고, blog의 migrations 폴더의 파일을 모두 삭제합니다. 그럼 db가 존재하지 않으니 더 이상 created가 없는 상태로 존재하는 blog Post가 없겠죠? 따라서 마이그레이션 할 때도 아무런 문제가 발생하지 않게 됩니다. 

0

qwer993님의 프로필 이미지
qwer993
질문자

당연히 1 을 눌러 디폴트값으로 넣고 다시 마이그레이션을 해봤지만 해결되지않아 질문드렸습니다.

상단 처음에 보시면 마이그레이션을 할 경우 TypeError: expected string or bytes-like object <<< 라고 오류가 나오는데

문제는 어떻게 해결할지 모르겠습니다.

깃에 올려둔 백업파일로 지난강의 부터 다시 시작하고있습니다만 혹여나 해결방법이 있으시면 댓글부탁드립니다. 감사합니다.

0

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

이미 블로그 post가 db에 존재하는데 null일수 없는 created를 만드니 이걸 어떻게 하겠냐는 의미입니다.

1을 누르면 디폴트값을 넣고 2를 넣으면 마이그레이션을 안한다는 의미입니다.

2를 눌렀으니 마이그레션을 하지 않았던거죠.

0

qwer993님의 프로필 이미지
qwer993
질문자

migrate 할경우 

위에 적어놨듯이 (TypeError: expected string or bytes-like object) 라고 나옵니다.ㅠㅠ

makemigrations 할경우 이렇게 나오고요. 

0

SungYong Lee님의 프로필 이미지
SungYong Lee
지식공유자

마이그레이션이 제대로 되지 않아서 나오는 에러입니다. 

migrate 할 때, 어떤 에러메시지가 나오는지 캡쳐해주시기 바랍니다. 

0

qwer993님의 프로필 이미지
qwer993
질문자

python manage.py makemigrations

python manage.py migrate

(TypeError: expected string or bytes-like object)

을 해봐도 이렇게 나옵니다.

 migrations 폴더 안의 모든 파일을 삭제하고(단 __ini__.py는 제외)를 해봐도 블로그페이지는 여전히 똑같은 오류가 나옵니다. 그리고 adim 페이지는 접속이되지만 http://127.0.0.1:8000/admin/blog/post/는 여전히 같은 오류가 나옵니다.

qwer993님의 프로필 이미지
qwer993

작성한 질문수

질문하기