如何使用列表作爲過濾器在GQL中進行選擇。在GQL過濾器中使用列表
如果我有類
public class Obj{
@Persistent
private Long name;
}
我怎樣才能得到所有的OBJ的那名不在列表?
如何使用列表作爲過濾器在GQL中進行選擇。在GQL過濾器中使用列表
如果我有類
public class Obj{
@Persistent
private Long name;
}
我怎樣才能得到所有的OBJ的那名不在列表?
您可以通過將所有過濾器鏈接在一起來獲得結果。
SELECT * FROM User where email != '[email protected]' and email != '[email protected]' and email != '[email protected]'
Python代碼
q = User.all()
for i in ilist:
q = q.filter("email = ", i)
但是你可能需要知道有這種類型的查詢一定的侷限性。
注意:IN和!=運算符在幕後使用多個查詢。例如,IN運算符爲列表中的每個項目執行單獨的基礎數據存儲區查詢。返回的實體是所有基礎數據存儲區查詢的交叉產物的結果,並且被重複刪除。任何單個GQL查詢最多允許30個數據存儲區查詢。
http://code.google.com/appengine/docs/python/datastore/gqlreference.html – lucemia
謝謝@lucemia,但我已經讀過它並且本教程對我沒有幫助。 :( – Victor
好吧,順便說一句,你是什麼意思「使用列表作爲過濾器」?你想過濾一個實體的ListProperty?或者你想使用一個列表作爲條件嗎? – lucemia