【发布时间】:2022-01-17 10:56:04
【问题描述】:
将 Django 模型从 managed=False 更改为 managed=True 会影响数据吗?
我有一个包含managed=False 的模型的大表,我想向其中添加一个新字段。如果不将模型更改为managed=True,则无法使用迁移添加字段
将其更改为 managed=True ,迁移更改,然后更新字段是否安全?
【问题讨论】:
标签: python django-models
将 Django 模型从 managed=False 更改为 managed=True 会影响数据吗?
我有一个包含managed=False 的模型的大表,我想向其中添加一个新字段。如果不将模型更改为managed=True,则无法使用迁移添加字段
将其更改为 managed=True ,迁移更改,然后更新字段是否安全?
【问题讨论】:
标签: python django-models
是的。这是安全和必需。我已阅读有关您的问题的 django 文档。也就是说:
Managed选项默认为 True,这意味着 Django 将创建 迁移中或作为迁移的一部分的适当数据库表和 作为刷新管理命令的一部分删除它们。也就是说,姜戈 管理数据库表的生命周期。如果为 False,不创建、修改或删除数据库表 将为该模型执行操作。
如果您的 django 模型选项 managed=False 则设为 managed=True,否则您的模型迁移将无法工作。更多信息请阅读django documentation.
【讨论】: