2017-10-09 35 views
0

私は2つのモデルを持っています。モデル1とモデル2。 Model2の1つのフィールドは、Model1の外部キーとして機能しました。ここでModel1の主キーは '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)

この問題を解決するにはどうすればよいですか?

: 削除移行がなければ、私は最初のMODEL1

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

idを削除せずに新しい主キーdem_numを作成

+0

「Model2」またはcreatをクリーニングする必要がありますどのような方法であれ、確実にデータを移行する必要があります。「PK」フィールド –

答えて

0

にそれをやりたいファイルを次にMODEL2への外部キーとしてこのフィールドをリンク

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

を変更するソリューションはありません。 – Satendra

関連する問題