如何解决此错误`ValueError:值必须是Django中的列表`

时间:2018-10-05 06:12:49

标签: python django django-views djongo

我有以下代码来更新一些记录:

Product.objects.filter(id=4).update(feature={'top_selling':False})

当我尝试上面的代码时,遇到下一个错误:

  

ValueError:值必须为列表

2 个答案:

答案 0 :(得分:0)

filter(id=4)很好。

我从您的评论中看到,产品模型上的字段feature是一个ArrayModelField(我想它来自this package?),看起来它接受了模型列表。

您当前正在尝试将字典{'top_selling':False}分配为该字段的值,当它应为[feature_instance_1, feature_instance_2]之类的内容时。

这有意义吗?

您想做什么? top_sellingFeature上的一个字段吗?

答案 1 :(得分:-2)

您应该尝试

Product.objects.filter(id=4).update(feature=[{'top_selling':False}])

或将ID列为列表。

Product.objects.filter(id=[4]).update(feature={'top_selling':False})