読書: http://code.google.com/appengine/docs/python/datastore/gqlreference.html
使いたい:
:= で
しかし、それを機能させる方法がわかりません。次のように仮定しましょう
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」演算子だけなので、検索するのは非常に困難な問題です。