我在django admin中遇到ArrayField问题。当我尝试使用None
值保存对象时,即使它没有更改,我也会收到错误:Item 5 in the array did not validate: Enter a whole number.
模型看起来像这样:
class MyModel(models.Model):
rank = ArrayField(
models.PositiveIntegerField(null=True)
)
和字段数据4,4,4,4,4,None,4,4
我该如何解决这个问题?
答案 0 :(得分:2)
如果Django表单字段与验证程序中的EMPTY_VALUES
匹配,则只会设置空值
EMPTY_VALUES = (None, '', [], (), {})
SimpleArrayField
首先拆分导致['4', '4', '4', '4', '4', 'None', '4', '4']
的传入数据,字符串'None'
与文字None
不匹配,因此不会转换为空值
您需要传递一个空字符串:4,4,4,4,4,,4,4
作为您的字段数据