您好我收到此错误,因为我的additional user info model(user = models.OneToOneField(User)
)中有一个字段,我在注册时没有填写(因为我想让用户稍后再做)。
我想知道除了在db中允许空字段之外是否还有办法解决这个问题?
干杯
答案 0 :(得分:8)
尝试
user = models.OneToOneField(User, null=True, blank=True)
然后重新创建您的数据库。 您可以在https://docs.djangoproject.com/en/1.4/ref/models/fields/#null
上找到更多信息否则您可以使用代理模型:
class UserExtraInfo(User):
#here your extra fields
在这种情况下,您不需要与User同时创建UserExtraInfo实例。 阅读https://docs.djangoproject.com/en/1.4/topics/db/models/#model-inheritance
的更多信息答案 1 :(得分:0)
当您将某个数据库字段定义为非null并传递
时,基本上会发生完整性错误空值或空值
我假设您通过django表单将值存储在数据库中
所以在这种情况下你可以这样做
if request.method == POST:
#无论方法
get_form_obj = form.save(commit = False)
不要忘记在模型用户字段中进行更改,例如(null = True,blank = True)
希望这会有所帮助