python django中位于/***/(1048,“Column';***';的IntegrityError不能为null”

python django中位于/***/(1048,“Column';***';的IntegrityError不能为null”,python,django,Python,Django,您好,我收到此错误是因为我的(user=models.OneToOneField(user))中有一个字段在注册时没有填写(因为我想让用户稍后再填写) 我想知道除了在数据库中允许空字段之外,是否还有其他方法可以解决这个问题 干杯试着 user=models.OneToOneField(user,null=True,blank=True) 然后重新创建数据库。 你可以在网上找到更多信息 否则,您可以使用代理模型: class UserExtraInfo(User): #here your extr

您好,我收到此错误是因为我的(
user=models.OneToOneField(user)
)中有一个字段在注册时没有填写(因为我想让用户稍后再填写)

我想知道除了在数据库中允许空字段之外,是否还有其他方法可以解决这个问题

干杯

试着

user=models.OneToOneField(user,null=True,blank=True)

然后重新创建数据库。 你可以在网上找到更多信息

否则,您可以使用代理模型:

class UserExtraInfo(User):
#here your extra fields
在这种情况下,您不需要与用户同时创建UserExtraInfo实例。
请阅读有关完整性的详细信息。当您将某些数据库字段定义为NOTNULL并通过时,基本上会发生完整性错误

空值或空值

我假设您正在通过django表单将值存储在数据库中

所以在这种情况下,你可以像

if request.method==POST:
#不管是什么方法

   get_form_obj = form.save(commit = False)
不要忘记在模型用户字段中进行更改,如
(null=True,blank=True)


希望这会有所帮助

如果您的用户还没有提供这些信息,您还需要引用数据库吗?我希望在我的附加配置文件信息模型类中创建对象,即使尚未提供信息。例如,我创建了标准的django用户对象,但为了提供额外的信息,我必须根据这一点,为额外的用户信息创建另一个对象。。。我可能有什么地方弄错了…?我在这里遵循一个教程:这个家伙在教程中得到了错误,但似乎没有解决问题。所以只需将它设为NULL,即
NULL=True
。您仍然可以将
留空=False
以使其成为表单中的必填项。