2017-10-09 5 views
0

두 모델이 있습니다. 모델 1과 모델 2. Model2의 한 필드는 Model1의 외래 키 역할을했습니다. 여기서 Model1의 Primary Key는 'id'입니다. 하지만 지금은 기본 키 필드, 제거 된 ID를 수정하고 내 모델마이그레이션 오류를 해결하는 방법은 무엇입니까?

class Model1(models.Model): 
    dem_num = models.IntegerField(primary_key=True) 

class Model2(models.Model): 
    dem_fk = models.Foreignkey('Model1') 

처럼 looke key.Now 추가 된 필드는 기본으로 demo_num라고하지만 난 뭐하는 거지 때,이 같은 오류가 표시되고 마이그레이션

django.db.utils.OperationalError: (1829, "Cannot drop column 'id': needed in a foreign key constraint of table Model2)

이 문제를 해결하는 방법은 무엇입니까?

: 마이그레이션을 삭제하지 않고 내가

class Model1(models.Model): 
    dem_num = models.IntegerField(primary_key=True) 

그런 다음 모델 2에 외래 키로이 필드를 링크 첫번째 모델 1에 id을 삭제하지 않고 새로운 기본 키 dem_num을 만들 그것을

+0

'Model2' 또는 creat을 청소해야합니다. 전자 데이터 마이그레이션, 어떤 방식 으로든 보장해야합니다. 즉, 'PK'필드 –

답변

0

을하고 싶은 파일

class Model2(models.Model): 
    dem_fk = models.Foreignkey('Model1', to_field='dem_num') 
+0

을 변경하는 다른 솔루션이 없다면 어떻게해야합니까? – Satendra

관련 문제