gcloud python:如何使用OR条件构造查询

时间:2016-01-31 17:48:39

标签: google-app-engine google-cloud-platform google-cloud-datastore gcloud-python google-cloud-python

似乎没有办法用OR条件构造查询。是否有人遇到此问题或知道何时完成此操作或任何解决方法。

我想用OR来实现这样的事情:

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

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

2 个答案:

答案 0 :(得分:3)

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

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

供参考,您应该阅读Datastore Queries文档:

  

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

答案 1 :(得分:1)

Python运行时支持"IN" query filter

但请注意,这只是一种便利:在引擎盖下,“IN”查询被转换为一系列独立查询,每个查询都在列表中查找一个值。