1
ndb.ORを使用する正しい方法は、このようなものです:OR-フィルタになりループでndb.ORを使用するには?
q = News.query(ndb.OR(News.source == 'GRD', News.source == 'IND'))
。
クエリ(種類= 'ニュース'、フィルター= OR(FilterNode( 'ソース'、 '='、 'GRD')、 FilterNode( 'ソース'、 '='、 'IND')))
しかし、私はどのようにループでそれを行うのですか?
私はこのしようとすると:
q = News.query()
for source in sources:
q = q.filter(ndb.OR(News.source == source))
をそれはAND-フィルタ次のようになります。
クエリ(種類= 'ニュース'、フィルター= AND(FilterNode( 'ソース'、 '=' 'GRD')、 FilterNode( 'ソース'、 '='、 'IND')))
おかげで、私は()ndb.OR(News.source.IN(ソース))あなたは 'Q = News.queryを意味だと思う' – Houman
@Houmanはそれを疑う、OR –
@Houman 'IN'がある2つのパラメータを必要とします実際には一連の 'OR'sとして実装されています(上の引用符を参照してください!)。 – tx802