• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

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

20.08.19 14:35 작성 조회수 4.17k

0

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

 

답변 6

·

답변을 작성해보세요.

0

현재 데이터베이스에는 이미 블로그 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

질문자

2020.08.21

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

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

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

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

0

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

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

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

0

qwer993님의 프로필

qwer993

질문자

2020.08.20

migrate 할경우 

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

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

0

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

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

0

qwer993님의 프로필

qwer993

질문자

2020.08.19

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/는 여전히 같은 오류가 나옵니다.