Google App Engine GQL、Millisecond精度でDatetimeでページネーションを行う方法
-
29-09-2019 - |
質問
こんにちは、GQLからのサブセクションの精度クエリのクエリに関する問題があります。
問題のコンテキストは、多くのオブジェクトのバッチをGoogleデータストアに一度にロードしていることです。そのため、1秒以内に数千のオブジェクトを追加できます。
検索時に、DateTimeがいつ追加されたかに基づいてページを付けたい場合は、ページネーションの問題に遭遇します。 (最後に追加された時間は、ユーザーが持っていないデータのみを取得できるため、ページングに最適です。)
エンティティのバッチがサブ2倍の量子内に追加されるため。同じ秒に挿入されたエンティティのバッチでページングを開始する必要がある場合、ページングに問題があります。
App Engine One Boxソリューションは、画分を持つDateTimeオブジェクトを渡そうとしても、サブセクションのクエリを処理できないようです。つまり、次のクエリがあり、秒の画分を持つデータタイムオブジェクトを渡します。地元では、Python 2.6を実行しています。
test = gqlquery( "select * from lastupdated>:1"、最小時間)
最小時間が10:00:00.0500のような場合、結果セットには、10:00:00.0100、10:00:00.0200などに最後のレコードが含まれている可能性があります。
回避策は、独自のキー形式を作成することだと思います。しかし、私が欠けている他のより単純なソリューションがあるかどうかを見たかっただけです。
ありがとう、ニン
解決
日時にパジネートしないでください。代わりに、使用します カーソル.
所属していません StackOverflow