[Django] non-nullable field 문제

윤찬효·2023년 6월 16일
0

django에서 프로젝트 작성 중 models.py 수정한 뒤 makemigrations를 하는 중에 발생한 문제이다.


문제 내용

You are trying to add a non-nullable field '필드명' to post without a default; we can't do that (the database needs something to populate existing rows).

Please select a fix:

 1) Provide a one-off default now (will be set on all existing rows with a null value for this column)

 2) Quit, and let me add a default in models.py

Select an option: 

원인

필드에 null 값, default 값을 부여하지 않았을 때 발생한 문제이며, 만약 부여 했다면 모델에 새로운 필드를 추가, 삭제했을 때 기존에 있던 db와의 충돌이 나서 그런 걸로 파악했다.

해결

위의 상황이 발생한 필드명에

필드명 = models.CharField(null=True, default="")

위와 같이 반영을 해주거나, 각 migrations 폴더에 __init__.py 만 제외하고 다 삭제해주면 된다.

0개의 댓글