2012-04-29 4 views
2

기존 사전 키에 값을 추가하려고했습니다. 이 값은 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

쿼리 없음을 반환하지되며, 테이블 차 필드 가격이 있는지 확인을 – shiva

답변

3

목록 (값) 구축을 삽입하고 키 값을 업데이트하면됩니다. items["BE1234"] = ["2", "100"]

설명 (시바의 댓글이 똑같은 일을하는 "깨끗한"방법이있다) :

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

'>>> 항목 = { " >>> car_price = 100 >>> items [ 'BE1234'] = [items [ 'BE1234'], car_price, BE1234 ":"2 ","BE1923 ":"3 ","BE2032 " ] >>> items { 'BE2032': '1', 'BE1234': [ '2', 100] 'BE1923': '3'} ' – shiva

+0

감사합니다! 잘 했어 !!! – mrmo123

+0

빠른 질문 ... 그 값을 부르는 법을 알게 되겠습니까 ?? 그래서 아이템 = { "BE1234": [ "2", "100", "BE1923": [ "31", "200"]}을 어떻게 얻을 수 있습니까? – mrmo123

관련 문제