2012-09-13 52 views
0

我從應用引擎中的數據存儲中提取了實體列表。列表中的每個實體都有一個「名稱」屬性。有沒有一種快速的方法來搜索特定名稱的實體列表?應用引擎數據存儲 - 搜索實體列表

而不是遍歷每一個,並檢查名稱屬性

謝謝!

+0

你使用'db'還是'ndb'?名稱是否是唯一的,或者您是否在搜索具有該名稱的所有實體? – aschmid00

+0

名稱將是唯一的;不確定db或ndb是什麼意思 – user1152327

+0

有兩種主要的GAE數據存儲訪問方法 - DB和NDB。 NDB是最新的,使用它。如果您的應用中的名稱是唯一的,請查看get_by_id(),如果您已使用「name」作爲數據存儲區中模型的ID,則可以直接檢索該記錄。更多此處:https://developers.google.com/appengine/docs/python/ndb/modelclass#Model_get_by_id –

回答

1

你可以拉出你正在尋找直接,如果你有一個屬性的實體可以匹配對

q = Person.all() 
q.filter("name =", target_last_name) 
result = q.get() 

但據我所知,你有,如果你不在身邊的結果列表迭代查詢特定屬性。

這個鏈接有關efficent談判的方式做到這一點但是:

Searching a list of objects in Python

E.G.

 [x for x in myList if x.n == 30] 
+0

是人物實體列表嗎? – user1152327

+0

不,人是模型類型,結果是從數據存儲返回的數據。可能還有一個,即一個列表。 –

相關問題