我已经部署了我的Django网站,但刚才意识到我没有强制要求其中一个字段。对于目前的领域,
blank = True,null = True
现在,如果我继续将其更改为
空白=假
会对数据库及其中已有的数据产生影响吗?
答案 0 :(得分:3)
没有。 blank
仅在应用程序级别执行。
答案 1 :(得分:1)
正如https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.Field.blank所讨论的那样:
“空白”是关于表单验证;您可以随时更改此信息而不会影响 你的数据库。
“null”是关于数据库中的存储,而不是关于表单验证
因此,如果您从“blank = True,null = True”更改为“blank = False”,您仍然可以在表中存储空值 - 但是您无法实际获得那些空值到数据库中,因为表单需要输入。
这可能正是您想要的(并且不需要进行数据库迁移)。
如果要从数据库中获取现有空值,请更新数据,然后将空白和null都设置为False。但是,此时,您需要进行数据库迁移(通过South或仅使用ALTER TABLE ... ALTER命令直接更改数据库)。