如何将空值存储为IntegerField

8 浏览
0 Comments

如何将空值存储为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: ''。

猜猜还能做什么?

0