在開始有些尷尬之後,我的冒險實體組繼續(請參閱Under some circumstances an App Engine get_by_key_name
call using an existing key_name returns None)。使用get_by_key_name(Python)獲取App Engine中的子實體列表
我現在看到我無法對正常的get_by_key_name
調用一個實體列表,這些子實體具有多個父實體。作爲模型文檔說,
的多個實體由一個 (
get_by_key_name
)調用請求都必須有 相同的父。
我得到了到做類似下面的習慣:
# Model just has the basic properties
entities = Model.get_by_key_name(key_names)
# ContentModel has all the text and blob properties for Model
content_entities = ContentModel.get_by_key_name(content_key_names)
for entity, content_entity in zip(entities, content_entities):
# do some stuff
現在ContentModel實體模型實體的孩子,這不會因爲單親要求工作。
使用實體組啓用上述場景的一種簡單方法是能夠將一個父母列表傳遞給get_by_key_name
調用,但我猜測這是目前不可行的一個很好的理由。我想知道這是否是一個硬性規則(因爲這樣的調用絕對沒有辦法工作),或者可能修改db模塊以便這種類型的調用可以工作,即使這意味着更大的CPU費用。
我也很想看看別人是如何完成這類任務的。我可以想到一些處理它的方法,比如使用GQL查詢,但我不能想到方法調用get_by_key_name
的性能。
好主意。我幾乎沒有使用db.Key.from_path。 – jamtoday 2009-10-23 19:00:45
您可能對[棧交換建議](http://area51.stackexchange.com/proposals/11464/code-review?referrer=aWNm_PdciyFqjFW8CUacGw2「代碼審查」)感興趣。它幾乎準備好開始測試,只需要更多。 – greatwolf 2011-01-19 05:08:14