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])

**q_options引数を取る限り、選択getしたメソッドに置き換えます。

于 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 に答える