1

似乎没有办法用 OR 条件构造查询。有没有人遇到过这个问题或知道什么时候会完成或任何解决方法。

我想用 OR 实现这样的目标:

query = datastore.query(kind='Article',
                         filters=[('url', '=', 'url1'),
                                  ('url', '=', 'url2')]
                       )

但是这个过滤器作为 AND 而不是 OR。

4

2 回答 2

3

OR不是 Google Cloud Datastore 中支持的查询构造。

当前实现这一点的方法是在客户端构造多个查询并组合结果集。

作为参考,您应该通读Datastore Queries文档:

Datastore 目前仅支持使用 AND 运算符组合过滤器。但是,通过发出多个查询并组合结果来创建自己的 OR 查询相对简单:

于 2016-02-02T22:18:34.100 回答
1

Python 运行时支持“IN”查询过滤器

但是请注意,这只是为了方便:在后台,“IN”查询被转换为一系列独立查询,每个查询都在列表中查找一个值。

于 2016-01-31T18:05:54.850 回答