2012-06-13 79 views
0

我使用GAE Python和我過這個問題來了,我試圖做這樣的事情:GAE - Python的 - 查詢(過濾器)的對象屬性的財產

db.delete(db.Query(StudentVote).filter('topic.lecture = ', lecture)) 

db.delete(db.Query(StudentVote).filter('topic.lecture.course.owner = ', owner)) 

我嘗試刪除一組實體,每個實體都有一個具有講座屬性的主題屬性等等。

StudentVote-> topic-> lecture->課程 - > 所有者

但查詢不能正常工作,有沒有什麼辦法來過濾呀?一個或什麼是最好的實踐來實現這個功能?

感謝先進的,加拉太書。

+0

你不能這樣做。如果你想在講座上查詢,你必須在講座上查詢,而不是在StudentVote上查詢,對於所有者來說也是一樣的。但是你不能在查詢對象上像這樣「遍歷」。 – aschmid00

回答

0

如果這是一個常見的查詢,您希望將所有者作爲索引屬性放入StudentVote中。這會讓你的寫入更加昂貴,但它會讓你查詢所有者。否則,如果這種情況很少發生,性能不成問題,則可以通過鏈條手動查詢。

+0

什麼是索引屬性?它與普通物業有何不同? – GalDude33

+1

屬性默認爲索引。您可以選擇使用未編制索引的屬性,這會降低您的寫入成本,但不能針對未索引的屬性進行搜索。 https://developers.google.com/appengine/docs/python/datastore/queries#Unindexed_Properties – dragonx

相關問題