2

既存の辞書キーに値を追加しようとしています。Car値は、という名前のプロパティを持つdb.Model から取得されpriceます。

コードの 2 つのブロック (以下) を試しましたが、AttributeError: 'GqlQuery' object has no attribute '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)]
4

1 に答える 1

3

挿入するリスト (値) を作成し、キーの値を更新するだけです。 items["BE1234"] = ["2", "100"]

詳細(Shivaのコメントには、同じことを行う「よりクリーンな」方法があります):

current_val = items["BE1234"]
new_val = "100";
new_array = [current_val, new_val]
items["BE1234"] = new_array
于 2012-04-29T06:21:08.517 に答える