【问题标题】:How to execute projection query in NDB in GAE如何在 GAE 中的 NDB 中执行投影查询
【发布时间】:2012-07-20 19:56:03
【问题描述】:

在 1.7 版本中,NDB 支持投影查询,documentation states 是这样的语法:

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

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

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

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

【问题讨论】:

    标签: python google-app-engine


    【解决方案1】:

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

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

    …用method of your choosing 替换get,只要它需要**q_options 参数。

    【讨论】:

      【解决方案2】:

      您可以从测试用例中了解如何使用: 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])

      【讨论】:

        猜你喜欢
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        • 2012-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多