データベースから 50 以上のオブジェクトを取得する必要があるため、読み込みに時間がかかりすぎるページがあります。たとえば、最初の 10 件の結果のみをページにロードし、サーバーが残りをバックグラウンドでロードしてから、ページを更新したいと考えています。
次のような方法はありますか:
def foo_view(request):
values = Foo.objects.all()[:10]
render_to_response(template, values, context_instance=...)
values = Foo.objects.all()
return render_to_response(template, values, context_instance=...)
それとも、これはajaxの仕事ですか?(ページが読み込まれるとすぐにデータを再読み込みします。)
ありがとう!
編集:
長いロード時間の原因について私が誤解していたことが判明しました。実際には、データベースから 50 ~ 100 個のオブジェクトを取得しても、遅延はほとんど発生しません。ビュー関数で 1 回呼び出して、結果をテンプレートに渡す必要があるときに、n 個のアイテムに対して n^3 個のデータベース ヒットが発生するメソッドがテンプレートにありました。