読書:http://code.google.com/appengine/docs/python/datastore/gqlreference.htmlオペレーターのApp Engine Datastore - 使い方は?
私が使用したい:
:=
ではなく、それを動作させるために方法がわからないと思います。次のことを仮定しましょう
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」オペレータであるため、どのような悪魔困難な問題が上を検索します。
すてきな答え...私は今夜これを実装します。私はコードが動作している(ええ!)最適化が後で来るようにする。 :)今は正規表現です。強打。頭。に。キーボード。 –
Brandon - 私はregexbuddyというアプリを使用しています。いかなる方法でもそれらに関連していない。 –