django 对于数据已存在数据的表增加非空字段如何处理?

2021 年 1 月 13 日
 rationa1cuzz
对于已经存在数据的表增加非空字段,makemigrations 会报错 You are trying to add a non-nullable field 'xx' to XXX without a default,有什么办法可以解决吗?还是说必须要给个默认值
2296 次点击
所在节点    Python
5 条回复
wuwukai007
2021 年 1 月 13 日
null=True,blank=True
xpresslink
2021 年 1 月 13 日
表增加非空字段必须要加 default:默认值,这可以是值或可调用对象。如果可调用,则每次创建新对象时都会调用它。
enomine
2021 年 1 月 13 日
报错提示已经很明显了
从 MySQL 层面来讲,非空表加一列非空字段,如果没有设置默认值,那已经存在的那些数据新加这个字段应该填充什么数据呢?
IurNusRay
2021 年 1 月 14 日
要么设置 null=True,要么手动设置一个默认值,比如 0 或者""
msy45
2021 年 1 月 14 日
如果不需要默认值,migrate 完再把默认值取消再 migrate 一次

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/744562

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX