2017-05-10 6 views
0

내 models.py에서 모델 상속을 사용하고 있습니다. 이건 내 코드입니다 :상속을 사용하여 모델 : 기본값없이 typemod에 nullable 필드 'id'를 추가하려고합니다.

class Email(models.Model): 
    stuff = models.CharField(max_length=40, blank=True, 
          null=True, default="") 
class TypeMod(Email): 
    pass 

내가 makemigrations를 실행하면 내가 이메일 모델에서 내 모든 필드에 대한 기본 값을 설정하고 있지만, 다음과 같은 메시지가 뜹니다 :

 
You are trying to add a non-nullable field 'id' to typemod 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 

내가 뭘 잘못된?!

+1

매우 신중하게 읽으십시오. 오류 없음 – e4c5

답변

1

글쎄, 알아 냈어! 같은 문제가있는 사람이라면 누구나이 프로젝트를 진행하고 있습니다. 문제는 부모 모델이 추상 적이 아니기 때문에 상위 모델의 데이터베이스에 테이블이 만들어 졌기 때문입니다. 그래서 추상적으로 전환했을 때 테이블은 여전히있었습니다. 내가 해결 한 방법은 "방황하는 distroy"를 실행하고 VM을 다시 시작한 것입니다.

1

그것은 반드시 방랑제와 관련이 없습니다. 나는 네이티브 리눅스 머신을 사용했고 같은 메시지를 얻었다. 내 솔루션은 기존 마이그레이션을 제거하는 것이 었습니다.