2012-04-29 22 views
2

我一直在嘗試向預先存在的字典鍵值添加一個值。該值來自db.Model Car,屬性名稱爲price在python中爲預先存在的字典鍵值添加一個值

嘗試了兩段代碼(下面),但得到了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

確保查詢沒有返回NONE和臺車有一個字段的價格 – shiva 2012-04-29 06:28:16

回答

3

構建一個列表(value)插入和只需更新一個密鑰的值: items["BE1234"] = ["2", "100"]

詳細(溼婆的評論有做同樣的事情的一個「乾淨」的方式):

current_val = items["BE1234"] 
new_val = "100"; 
new_array = [current_val, new_val] 
items["BE1234"] = new_array 
+2

'>>>項目= {」 BE1234「:」2「,」BE1923「:」3「,」BE2032「:」1「} >>> car_price = 100 >>> items ['BE1234'] = [items ['BE1234'],car_price ] >>> items {'BE2032':'1','BE1234':['2',100],'BE1923':'3'}' – shiva 2012-04-29 06:25:12

+0

謝謝!工作很棒! – mrmo123 2012-04-29 06:52:34

+0

快速問題...你會碰巧知道如何調用這個值?所以如果我有物品= {「BE1234」:[「2」,「100」],「BE1923」:[「31」,「200」]},我怎麼能得到100? – mrmo123 2012-04-29 07:40:38

相關問題