5

map() の Google AppEngine NDB ドキュメントには、次のように記載されています。

「すべてのクエリ オプションのキーワード引数がサポートされています。」

ただし、produces_cursors=Trueonを使用しようとしましmap()たが、カーソルが戻ってきません。

map(callback, pass_batch_into_callback=None, merge_future=None, **q_options)

map()タスクレットにコールバックを設定できるので利用したいです。

https://developers.google.com/appengine/docs/python/ndb/queryclass#kwdargs_options

編集 - コードサンプルの提供:

@ndb.tasklet
def callback(user):
    statistics = yield ndb.Key(Statistics, user.key.id()).get_async()
    raise ndb.Return(user, statistics)

result = User.query().map(callback, produces_cursors=True)
4

1 に答える 1

4

この例にはタイプミスがあるようです - 正しいフラグはproduce_cursors, notproduces_cursorsです。

ただし、カーソルはイテレータを使用する場合にのみ使用可能になり、 では使用できませんmap()。非同期反復子の例を確認してください。少し手間がかかりますが、これを使用して、結果ごとにタスクレットを手動で作成できます。

于 2013-01-04T01:58:11.187 に答える