2012-04-03 14 views
3

the documentationによれば、map関数はすべてのクエリオプションキーワードをサポートしています。しかし、マップを使用してcursorhas_moreの値を生成することはできません。あなたはどうやってそれをしますか? fetchresultとすると、cursorhas_moreは単純なリストでは機能しないので、mapは使用できません。NDBマップでカーソルを作成する方法

答えて

4

map()からカーソルを取得することはできません。カーソルを取得する唯一の方法は、QueryIteratorを使用するか、fetch_page()(内部でQueryIteratorを使用)を呼び出すことです。 has_moreフラグは、fetch_page()を使用してのみアクセスできます。

あなたが単純なリストを持っている場合は、Pythonの内蔵のマップ()関数を使用します。

map(<function>, <list-of-entries>) 

しかし、おそらく、あなたは私たちにあなたがやろうとしているかについての詳細を言うことができますか?

+0

あなたの答えに感謝します。基本的に私は20のコメントの "ページ"をロードしています。これらのコメントのそれぞれについて、5つのサブコメントの「ページ」を(好ましくは並行して)ロードしたいと思います。私は、コメントとサブコメントの両方のためにカーソルを必要とするので、もっと必要に応じて読み込むことができます。シリアル・アプローチを使用した実用的な解決策がありますが、私はこれが並行して可能でなければならないという印象を受けています。 –

+0

@guidoは、Pythonの組み込みのmap()関数を使用して、querylets()が正しく動作しますか? –

+0

@robert:maplets()は正しくタスクレットと一緒に作業することは意味しますか?タスクレットについては何も知らないので、タスクレットをオブジェクトのリストにマップすると、Futuresのリストが返されます。私は正しいと思うだろう。 :-) –

関連する問題