2009-10-12 61 views
5

我在想,如果任何人都可以提供一些指導,說明我可以如何實現一個開始於或結束於使用Python的數據存儲模型的查詢?使用Google App Engine實現「開始於」和「結束」查詢

在僞代碼,它的工作有點像......

查詢所有實體A其中屬性P與X啓動

查詢了其中屬性P結尾的所有實體乙X

謝謝,馬特

回答

16

你可以做一個使用不等式過濾查詢「開頭」:

MyModel.all().filter('prop >=', prefix).filter('prop <', prefix + u'\ufffd') 

做一個查詢「結尾爲」需要存儲字符串的反轉,然後採用相同的如上所述。

+0

謝謝。這與將數據存儲在相同大小寫(低位或高位)的情況下結合使用。欣賞幫助:) – Matty 2009-10-12 15:49:53

+0

@Matty,另一個非關係數據庫需要非規範化(基於瞭解重要查詢)提高效率的案例。嘆氣,但是,我們最好都習慣了! - ) – 2009-10-13 02:23:47

+0

不應該是('prop <=',前綴+'\ uffff')? – Isaac 2014-02-10 18:40:36