2016-11-10 9 views
0

私はListAPIViewから継承し、オブジェクトのリストを表示するビューを持っています。パフォーマンス上の理由から、私はページネーションを実装しようとしています。だから、1つだけのクエリが行われた改ページなし文書http://www.django-rest-framework.org/api-guide/pagination/Django Restフレームワークのページングのパフォーマンスの問題

from rest_framework.pagination import PageNumberPagination 
class LargeResultsSetPagination(PageNumberPagination): 
    page_size = 2 
    page_size_query_param = 'page_size' 
    max_page_size = 2 

class RaceEventListView(CallSerializerEagerLoadingMixin, ListAPIView): 
    serializer_class = RaceEventListSerializer 
    queryset = RaceEvent.objects.all() 
    pagination_class = LargeResultsSetPagination 

。 The Select * from raceevent

ページネーションで2つのクエリが行われます。 Select * from raceeventおよびSelect * from raceevent LIMIT 2

その結果、パフォーマンスは向上しませんでした。 ページ分割を使用するときにクエリを1に制限するにはどうすればよいですか

+0

2つのクエリはどこで実行されていますか? – Sayse

+0

私はdjango-debug-panelを使用しています –

答えて

0

2番目のクエリはオブジェクトの合計量を計算するためのものです。応答のjsonオブジェクトには属性カウントがあります。この値を計算するためにクエリが作成されます。

関連する問題