如何将空值存储为IntegerField
- 论坛
- 如何将空值存储为IntegerField
24 浏览
如何将空值存储为IntegerField
我已经看过所有类似的讨论帖,阅读了文档,并尝试了许多组合方式来将空值存储为数据库中的IntegerField,但每次都失败了。我正在使用MySQL。我的models.py文件定义了一个age=models.IntegerField()字段。我从csv文件中填充数据库,有些单元格没有值。Django文档中写道:
Field.null
如果为True,Django将在数据库中将空值存储为NULL。默认值为False。
请注意,空字符串值始终会被存储为空字符串,而不是NULL。
由于我正在使用IntegerField,我希望将空字符串(来自csv的空单元格)存储为NULL。因此,我(认为)必须向age字段添加null=True。实际上,我尝试的不仅仅是这个:
age=models.IntegerField()
age=models.IntegerField(null=True)
age=models.IntegerField(null=True, blank=True)
age=models.IntegerField(null=True, blank=True, default=None)
每次我向数据库插入空字符串时,都会得到一个ValueError: invalid literal for int() with base 10: ''。
猜猜还能做什么?