Django model update foreign key 外键更新

2022-07-20 20:14:12 浏览数 (1)

要件:

parent model: master.anken(primary key:id→anken_no) ※ id:自動生成

child model : purchase.appl

migrate操作

1,parent model :执行makemigratios,migrate

2,child model :foreign key 注释掉,执行makemigratios,migrate(删掉外键)

3,child model :foreign key 注释解除,执行makemigratios,migrate(追加外键)

詳細:

parent変更前:python manage makemigrations parent app 実施時、自動追加 primary key「id」

parent:変更前parent:変更前

変更前 makemigrations結果

cmd:makemigrations結果cmd:makemigrations結果

parent変更後 python manage makemigrations child app実施時、 primary key「anken_no」

parent:変更後parent:変更後

変更後makemigrations結果

修正差分:migrations修正差分:migrations

child

child : 外键child : 外键

問題:子表的外键数据类型未被更新

1,parent model 修正後、以下command実施

  ①python manage makemigrations parent app

  ②python manage migrate parent app

①②①②

  ③python manage makemigrations child app

  ④python manage migrate child app

③④③④

差分は問題なし

DB確認: 外键数据类型,未被正确更新

按照migrate操作後、DB確認

0 人点赞