Django South - 将 null=True 字段转换为 null=False 字段
我的问题是,使用 Django South 将 null=True
字段转换为 null=False
字段的最佳实践是什么。具体来说,我正在使用 ForeignKey
。
My question is, what is the best practice for turning a null=True
field into a null=False
field using Django South. Specifically, I'm working with a ForeignKey
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
仄言2024-10-20 03:01:11
如果您想将可为空的foreignkey转换为不可为空的foreignkey,那么如果该字段(列)有任何带有NULL的行,则可能会出现问题。在这种情况下,您需要删除或修复它们 - 可能使用自定义数据迁移,例如其他答案中提到的diegueus9。
但是,如果您在该列中没有任何带有 NULL 的行,例如,因为您只在将来可能需要它时才将 null=True 设置为 True,那么您应该能够执行简单的自动模式迁移:
$ ./manage.py schemamigration myapp remove_null_from_fkey --auto
(...)
$ ./manage.py migrate myapp
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
您应该首先编写数据迁移: http://south.aeracode.org/docs/tutorial /part3.html
然后进行架构迁移。
You should write first a data migration: http://south.aeracode.org/docs/tutorial/part3.html
and then make the schemamigration.