gpt4 book ai didi

python - Django 迁移 - 将模型从 Int 更改为 CharField 并从选择选项中预填充

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:39 24 4
gpt4 key购买 nike

在模型中,我有一个映射到 CHOICES 元组的 IntegerField。该字段的要求已更改为更新该元组中的选项将需要过于频繁的维护,因此我决定将其更改为 CharField

有没有办法可以在迁移中执行此操作,或者创建一个新列,使用适当的值更新并删除旧列会更好吗?

最佳答案

您已经更改了架构,因此您肯定需要进行架构迁移,Django 会使用 makemigrations 命令为您完成此操作。

但是由于您还更改了列的类型,其中填充了整数,现在应该转换为字符,Django 不会自动为您执行此操作,您需要编写 Data migrations .

根据我的经验,最好生成多个迁移;创建一个新的 CharField,然后通过 RunPython 写入这个新列。然后,运行第二次迁移,删除原始 IntegerField 并将新的 CharField 列重命名为原始列。 (我猜这是你自己建议的)

关于python - Django 迁移 - 将模型从 Int 更改为 CharField 并从选择选项中预填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39497266/

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