2012-11-21 21 views
1

我需要獲取每行的行ID,以便我可以使用它作爲主鍵。 這是我在做什麼使用python獲取數據庫中每一行的行ID /密鑰google appengine

qr = MoreGames.query() 
    res = qr.fetch() 
    if res: 
     data = [] 
     for row in res: 
      d = {'id':row.key().id(),'title':row.title,'description':row.description,'link':row.link} 
      data.append(d); 

每當我使用row.key()。ID()它給了我 '500內部服務器錯誤'。

+0

你試過打印行嗎?或dir(row)? –

+0

'db'或'ndb'?你需要包含完整的回溯。 – aschmid00

回答

4

使用.query()建議你使用NDB而不是DB,在這種情況下,「key」是一個屬性,而不是方法,那麼:

row.key.id() 

拿到鑰匙的ID部分。

+0

驚人的:)爲我工作。謝謝! – Imran

+0

res = DB.get_by_id(game_id)如何使用此ID返回數據? – Imran

+0

我得到這個錯誤: AttributeError:'function'對象沒有屬性'id' – Ashkan

0

嘗試調試。

很有可能您的鑰匙有名稱而不是ID。嘗試id_or_name()而不是id()。

相關問題