在1.7版本中,NDB获得了支持投影查询,documentation states这就是语法:
qry = Article.query(projection=[Article.author, Article.tags])
但是运行这会导致异常:
TypeError: __init__() got an unexpected keyword argument 'projection'
NDB中是否支持投影查询,如果是,如何使用它?
答案 0 :(得分:4)
文档中有错误,正确的语法是:
qry = Article.query().get(projection=[Article.author, Article.tags])
...只要method of your choosing个参数,就用**q_options替换get
。
答案 1 :(得分: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])