欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Itisimpossibletoaddanon-nullablefield‘university‘touserinfowithoutspecifyingadefault.

时间:2023-04-25

环境:python 3.9.2, Django 4.0.2

状态:

It is impossible to add a non-nullable field 'university' to userinfo without specifying a default、This is because the database needs something to populate existing rows.Please select a fix: 1) Provide a one-off default now (will be set on all existing rows with a null value for this column) 2) Quit and manually define a default value in models.py.Select an option:

原因:增加一个字段后,执行迁移命令,如下:

python manage.py makemigrations

执行该命令后,会在该应用的migrations目录下,生成sql文件。

发生该问题的原因推测是:该数据库中已有数据,新增字段后,已存在的数据该字段为空,导致的。

解决:在新增的字段内添加默认值(可能还有其它方法,我只是出现该问题,随手一记)如下:

university = models.CharField(max_length=50, verbose_name="大学", default="")

在后面添加一个default=""即可

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。