Django正在删除并重新创建模型,而不是重命名

时间:2020-05-09 13:26:52

标签: django

class ModelA:
    pass

class ModelB:
    model_a = ForeignKey(ModelA)

如果我想将ModelA重命名为ModelANew,这是Django遵循的策略:

  1. 迁移1:创建ModelANew
  2. 迁移2:
    • model_a中删除字段ModelB
    • 将字段model_a_new添加到ModelB
  3. 迁移3:删除ModelA

一个明显的缺点是表modela中的信息丢失了。重命名模型可以完成吗? Django显然没有问这是否是重命名。是否有可能告知或沿路线走?如果没有,那么手动编码迁移的策略将是什么。

1 个答案:

答案 0 :(得分:0)

迁移1。

创建 ModelANew 模型。

迁移2。

创建data migration。将数据迁移到新模型。

迁移3。

删除 旧型号

相关问题