在 1.7 版本中,NDB 获得了支持投影查询,文档说明这是语法:
qry = Article.query(projection=[Article.author, Article.tags])
但是运行这个会导致异常:
TypeError: __init__() got an unexpected keyword argument 'projection'
那么 NDB 中是否支持投影查询,如果是,如何使用它?
在 1.7 版本中,NDB 获得了支持投影查询,文档说明这是语法:
qry = Article.query(projection=[Article.author, Article.tags])
但是运行这个会导致异常:
TypeError: __init__() got an unexpected keyword argument 'projection'
那么 NDB 中是否支持投影查询,如果是,如何使用它?
文档中有错误,正确的语法是:
qry = Article.query().get(projection=[Article.author, Article.tags])
…替换为您选择的方法,get
只要它需要**q_options参数。
您可以从测试用例中了解如何使用: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])