我一直在尝试为预先存在的字典键添加值。该值来自db.Model Car
,其属性名为price
。
尝试了两个代码块(下面),但已经得到了AttributeError:'GqlQuery'对象没有属性'price'。
items = {"BE1234":"2","BE1923":"3","BE2032":"1", etc}
------------------------------------------------------------
block 1)
for item in items:
cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item)
items[item] = cars.price
------------------------------------------------------------
block 2)
for item in items:
cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item)
items.update({item:cars.price})
我希望得到的是:
items = {"BE1234":["2","100"],"BE1923":["31","200"],"BE2032":["19","300"], etc}
更新(最终工作代码)
for item in items:
cars = db.GqlQuery('SELECT * FROM Car WHERE item=:1',item)
for car in cars:
items[item]=[items[item],str(car.price)]
答案 0 :(得分:3)
构造要插入的列表(值)并只更新键的值:
items["BE1234"] = ["2", "100"]
详细(Shiva的评论有一种“更清洁”的方式做同样的事情):
current_val = items["BE1234"]
new_val = "100";
new_array = [current_val, new_val]
items["BE1234"] = new_array