如何在NullBooleanField
模型Django
中使用SQLlite3
,
我想将null
存储为nullBoolean
字段的默认值,我该怎么做?
我已将数据库从BooleanField
迁移到NullBooleanField
,但它仍然存储False作为默认值。
代码中的用法如下:
LOCATOR_YES_NO_CHOICES = ((None,''), (True,'Yes'), (False, 'No'))
employed = models.NullBooleanField(choices=LOCATOR_YES_NO_CHOICES,
max_length=3,
blank=True, null=True, default="",)
任何一个例子都会有很大的帮助。
答案 0 :(得分:12)
空字符串""
不是None
>>> "" is None
False
如果您希望默认值为None
,请写:
employed = models.NullBooleanField(choices=LOCATOR_YES_NO_CHOICES,
max_length=3,
blank=True, null=True, default=None,)
答案 1 :(得分:0)
请注意,NullBooleanFIeld
在 Django 3.1
中是 deprecated。建议使用BooleanField(null=True)
。
在这种情况下;
employed = Models.BooleanField(null=True, default=null)