閱讀:http://code.google.com/appengine/docs/python/datastore/gqlreference.htmlApp Engine數據存儲IN操作員 - 如何使用?
我想用:
:= IN
但我不確定如何使其發揮作用。我們假設以下內容:
class User(db.Model):
name = db.StringProperty()
class UniqueListOfSavedItems(db.Model):
str = db.StringPropery()
datesaved = db.DateTimeProperty()
class UserListOfSavedItems(db.Model):
name = db.ReferenceProperty(User, collection='user')
str = db.ReferenceProperty(UniqueListOfSavedItems, collection='itemlist')
我該如何做一個查詢,讓我獲取用戶保存的項目列表?很顯然,我可以這樣做:
q = db.Gql("SELECT * FROM UserListOfSavedItems WHERE name :=", user[0].name)
但讓我密鑰列表。我想現在把這個列表拿到查詢中,以便從UniqueListOfSavedItems中獲取str字段。我想我可以這樣做:
q2 = db.Gql("SELECT * FROM UniqueListOfSavedItems WHERE := str in q")
但是有些東西不正確......有什麼想法嗎?它是(我在我的日常工作,所以現在不能測試此):
q2 = db.Gql("SELECT * FROM UniqueListOfSavedItems __key__ := str in q)
側面說明:什麼是極難問題上搜索,因爲我真正關心的是「IN」操作符。
真是個好回答......今晚我會實施這個。我得到了代碼工作(是的!),所以優化可以晚些時候。 :)現在我在正則表達式上。敲打。頭。上。鍵盤。 – 2009-06-17 23:27:23