2011-08-04 5 views
0

私はあなたが(例えば)タグのプロパティを持っているだけで、このようなモデル、(パイソン)Might GQL IN演算子を使用して、リストプロパティの項目を持つエンティティを検索できますか?

class MahModel(db.Model): 

tags = db.StringListProperty() 

を持っている場合、私は、クエリでこのような何かを行うことができ、意味ですか? WHERE 'x' IN tags

そうでない場合は、どのような回避策を使用できますか?

私の実際のコードは次のようであるが、以下:。
Ad.gql(「"日付ASCのLIMIT 1" BYボードのために "真=支払って配信= FalseのAND" +猫+ ')を(取得)

ボード、私は私にこのエラーが発生します猫変数

との一致を取得したいしたリストです:
ad_ = Ad.gql("WHERE paid = True AND delivered = False AND '" + cat + "' IN boards ORDER BY date ASC LIMIT 1").get()
File "C:\Programme\Google\google_appengine\google\appengine\ext\db\__init__.py", line 1208, in gql
*args, **kwds)
File "C:\Programme\Google\google_appengine\google\appengine\ext\db\__init__.py", line 2296, in __init__
self._proto_query = gql.GQL(query_string, _app=app, namespace=namespace)
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 195, in __init__
if not self.__Select():
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 813, in __Select
return self.__From()
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 834, in __From
return self.__Where()
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 846, in __Where
return self.__FilterList()
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 871, in __FilterList
return self.__FilterList()
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 871, in __FilterList
return self.__FilterList()
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 853, in __FilterList
self.__Error('Invalid WHERE Identifier')
File "C:\Programme\Google\google_appengine\google\appengine\ext\gql\__init__.py", line 738, in __Error
(error_message, self.__symbols[self.__next_symbol]))
BadQueryError: Parse Error: Invalid WHERE Identifier at symbol 'tf2'

+0

試してみるとどうなりますか? – SingleNegationElimination

+0

私には奇妙なエラーがあります...それはバンプします:BadQueryError:Parse Error:シンボル 'x'のWHERE識別子が無効 – Souseiseki

+0

質問を編集して問題に関する新しい情報を追加してください。 – SingleNegationElimination

答えて

1
WHERE tags = 'x' 

'を持っている任意のエンティティを返します。 x 'を少なくとも1回リストに追加します。

+0

うわー、本当に?それは私が期待したよりずっと簡単ですO.O、ありがとう – Souseiseki

関連する問題