2

在 1.7 版本中,NDB 获得了支持投影查询,文档说明这是语法:

qry = Article.query(projection=[Article.author, Article.tags])

但是运行这个会导致异常:

TypeError: __init__() got an unexpected keyword argument 'projection'

那么 NDB 中是否支持投影查询,如果是,如何使用它?

4

2 回答 2

4

文档中有错误,正确的语法是:

qry = Article.query().get(projection=[Article.author, Article.tags])

…替换为您选择的方法,get只要它需要**q_options参数。

于 2012-07-02T09:25:15.277 回答
1

您可以从测试用例中了解如何使用:http: //codereview.appspot.com/6133044/patch/2001/1012

在这里:http ://code.google.com/p/appengine-ndb-experiment/issues/detail?id=181

但请记住 Article.query().get(projection=[Article.author, Article.tags]) 始终返回实体,而不是查询。此外get,您可以使用fetch(projection=[Article.author, Article.tags])fetch_async(projection=[Article.author, Article.tags])

于 2012-07-04T02:46:07.637 回答