在GQL查询中定义名称空间

时间:2015-02-11 13:19:48

标签: python google-cloud-datastore app-engine-ndb gql

我确实有一个非常简单的问题。我想在进行GQL查询时定义命名空间。

例如

inventory_query = ndb.gql("SELECT * FROM StockItemModel WHERE version = KEY('" +version.key.urlsafe()+ "') AND on_stock = TRUE", namespace=namespace)

文档没有说明命名空间,我不能使用ndb.query,因为存在循环依赖。

有没有办法在GQL查询中定义命名空间?

1 个答案:

答案 0 :(得分:1)

当我自己找到这个问题的答案时,我想分享一下。

我没有发现在GQL查询中定义命名空间的可能性。但是,上面的查询可以重写如下。

inventory_query = ndb.Query(kind = 'StockItemModel', namespace = stock_namespace)
inventory_query = stock_query.filter(ndb.GenericProperty('version') == version.key)

希望这可以帮助一些人;)