gpt4 book ai didi

python - 如何将一个字段从一个模型移动到另一个模型,同时仍然保留数据?

转载 作者:太空狗 更新时间:2023-10-29 21:30:56 25 4
gpt4 key购买 nike

为了简化,我有一个模型,比如说,

class Parent(models.Model):
field_a = models.CharField(max_length=40)

还有另一个包含图像字段的模型,它通过外键将自身绑定(bind)到父实例:

class ParentPicture(models.model):
parent = models.ForeignKey(Parent)
picture = models.ImageField(upload_to=upload_path)
is_used = models.BooleanField(default=False)

原计划是支持parent多张图片,每次只能使用一张,现在想只支持一张,并包含在parent model中,所以ParentPicture 可以被销毁,并且 Parent 看起来像这样:

class Parent(models.Model):
field_a = models.CharField(max_length=40)
picture = models.ImageField(upload_to=upload_path)

我不确定将 picture 字段移动到新模型的最佳方法,并包括 ParentPicture 中具有 is_used 的实例 标志。

有没有一种简单的方法可以使用 Django 自动执行此操作,或者我是否需要更改 Parent 模型,迁移更改,然后运行脚本来遍历 ParentPicture 模型并适当复制,然后完成后,删除ParentPicture 模型?

感谢您的帮助/建议!

最佳答案

我认为没有一种“自动”的方式来移动字段,所以你可以这样做:

  1. Parent类中添加picture字段
  2. 生成并运行模式迁移
  3. 编写并运行 data migration用模型 ParentPicture
  4. 中的值填充新的 picture 字段
  5. 删除旧的/过时的模型/字段,生成新的模式迁移并运行它

关于python - 如何将一个字段从一个模型移动到另一个模型,同时仍然保留数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37171077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com