2016-11-10 62 views
0

我有一個視圖繼承自ListAPIView並顯示對象列表。出於性能原因,我試圖實現分頁。所以: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 

下列文件http://www.django-rest-framework.org/api-guide/pagination/

無分頁只有一個查詢而成。 Select * from raceevent

隨着分頁兩個查詢進行。 Select * from raceeventSelect * from raceevent LIMIT 2

因此,我無法取得更好的表現。 我應該怎麼做,以限制爲1時使用分頁查詢

+0

你在哪裏看到兩個查詢正在運行? – Sayse

+0

我正在使用django-debug-panel –

回答

0

第二個查詢是用於計算對象的總量。響應的json對象具有屬性計數...爲了計算該值,進行查詢。