Django ArrayField

时间:2016-08-10 13:02:14

标签: python django postgresql django-models django-admin

我在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 我该如何解决这个问题?

1 个答案:

答案 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作为您的字段数据