开发者

append item in for loop

开发者 https://www.devze.com 2023-04-12 04:46 出处:网络
mysql db table XXX id | a| --------- 1| 111| 2| 222| 3| 333| I got query result from mysql database. info = XXX.objects.filter(a = 111)

mysql db table XXX

id | a  |
---------
1  | 111|
2  | 222|
3  | 333|

I got query result from mysql database.

info = XXX.objects.filter(a = 111)
for item 开发者_如何转开发in info:
    item.update({b:111})

It makes error "XXX has no attribute 'update' I want to append more key:value set into item. How can I go it?


if your table has field b

XXX.objects.filter(a = 111).update(b=111)

or

info = XXX.objects.filter(a = 111)
for item in info:
    item.b = 111
    item.save()


item is not a mapping. If you want to set attributes on an object then just do so.

item.b = 111

Note that Django will not retain the change unless it is already a field in the model and you make sure to save item.


In Django filter return the list of QuerySet not dictionary so @Danfi's approach is right

info = XXX.objects.filter(a = 111) #return the list of QuerySet (objects)
for item in info:
    item.b = 111   # Object
    item.save()
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号