我有以下代码来更新一些记录:
Product.objects.filter(id=4).update(feature={'top_selling':False})
当我尝试上面的代码时,遇到下一个错误:
ValueError:值必须为列表
答案 0 :(得分:0)
filter(id=4)
很好。
我从您的评论中看到,产品模型上的字段feature
是一个ArrayModelField
(我想它来自this package?),看起来它接受了模型列表。
您当前正在尝试将字典{'top_selling':False}
分配为该字段的值,当它应为[feature_instance_1, feature_instance_2]
之类的内容时。
这有意义吗?
您想做什么? top_selling
是Feature
上的一个字段吗?
答案 1 :(得分:-2)
您应该尝试
Product.objects.filter(id=4).update(feature=[{'top_selling':False}])
或将ID列为列表。
Product.objects.filter(id=[4]).update(feature={'top_selling':False})