Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 属性错误:';人';对象没有属性';更新';德扬戈_Python_Django - Fatal编程技术网

Python 属性错误:';人';对象没有属性';更新';德扬戈

Python 属性错误:';人';对象没有属性';更新';德扬戈,python,django,Python,Django,我对这个查询有问题。我只想更改支付值,如果支付值等于是,则必须将其更改为已支付,如果支付值等于否,则它是未支付。问题是我有这样的错误AttributeError:“Person”对象没有属性“update”。有必要使用p.update?要将值从Yes更改为Paid 这就是我一直在尝试的 您可以保存每个对象 for p in Person.objects.filter(Q(paid = 'Yes')): p.paid = "Paid" p.save()

我对这个查询有问题。我只想更改支付值,如果支付值等于
,则必须将其更改为
已支付
,如果支付值等于
,则它是
未支付
。问题是我有这样的错误
AttributeError:“Person”对象没有属性“update”
。有必要使用
p.update
?要将值从
Yes
更改为
Paid

这就是我一直在尝试的


您可以保存每个对象

for p in Person.objects.filter(Q(paid = 'Yes')):
      p.paid = "Paid"
      p.save()

update
方法在
QuerySet
上可用,因此您可以使用

Person.objects.filter(Q(paid = 'Yes')).update(paid="Paid")

感谢您的即时回复,但我认为它会将我所有的已付值覆盖为“已付”,而且我的已付值中也有
值,如果是
,那么它将变为未付,如果是
它将变为
已付
。真的有可能吗?需要帮助提前感谢此操作将仅更新具有
paid=Yes
值的行。它不会更新
paid=No
行。您可以添加另一个查询来更新
paid=No
Person.objects.filter(Q(paid='No')).update(paid=“Unpaid”)
`谢谢您的回复,但是您能检查一下吗,结果会将我的数据覆盖到
paid
,即使我的paid中有
No
。我只想将值从Yes更改为Paid,但问题是它会覆盖p-in-personal.objects.filter(Q(Paid='Yes'):p.Paid=“Paid”rpts_Paid.append(p.Paid)
Person.objects.filter(Q(paid = 'Yes')).update(paid="Paid")