2

繰り返されるプロパティを使用して論理クエリを作成する必要があり、それを機能させることができません。トピックを含むリストオブジェクトがあります。

topics = [u'string1', u'string2', ...]

クエリオブジェクトがあります:

videos = Video.query()
videos.count()
=> 19

トピックは繰り返し文字列プロパティです

class Video
  topics = ndb.StringProperty(repeated=True)

トピックが含まれている動画を返したいstring1OR string2。また、以前はリストオブジェクトの長さがわからないか、論理演算子を使用して長い道のりでクエリを作成することができました。

ドキュメントが示唆するようにこれをやってみました

videos.filter( Video.topics.IN([topics]) )

しかし、それはINがリストオブジェクトではなく文字列を予期したというエラーをスローします。

どうすればよいですか?

4

2 に答える 2

7

topicsすでにリストのようです。したがって、周りに別のリストを付けずに渡す必要があります。

videos.filter( Video.topics.IN(topics) )
于 2013-01-13T16:38:09.357 に答える
1

一連のトピックについては、次を使用できます。

Video.query(Video.topics.IN(topics))

または単一の文字列の場合:

Video.query(Video.topics == topic)

ソース:https ://cloud.google.com/appengine/docs/standard/python/ndb/queries

于 2017-05-15T02:29:01.373 に答える