From eb0b4f665ac584faff0b3316161b3b2c6a0e875b Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Wed, 27 May 2020 16:50:16 +0800 Subject: [PATCH] =?UTF-8?q?#=20=E5=88=86=E9=A1=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/views.py | 8 ++++++-- apps/mosquito/api/pagination.py | 7 +++++++ apps/mosquito/api/views.py | 4 ++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index 1de74c4..ab68e02 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -12,7 +12,11 @@ from rest_framework.response import Response from rest_framework.permissions import IsAuthenticated from rest_framework.filters import SearchFilter, OrderingFilter -from mosquito.api.pagination import PostLimitOffsetPagination, PostPageNumberPagination +from mosquito.api.pagination import ( + PostLimitOffsetPagination, + PostPageNumberPagination, + DeviceLogHistoryPagination +) from .serializers import ( DeviceCountSerializer, DeviceInfoSerializer, @@ -133,7 +137,7 @@ class DeviceLogHistoryListAPIView(ListAPIView, RoleMixin, DeviceListMixin): serializer_class = DeviceLogHistorySerializer permission_classes = [IsAuthenticated] filter_backends = [SearchFilter, OrderingFilter] - pagination_class = PostPageNumberPagination + pagination_class = DeviceLogHistoryPagination search_fields = ['device_id', 'date'] def get_queryset(self, *args, **kwargs): diff --git a/apps/mosquito/api/pagination.py b/apps/mosquito/api/pagination.py index c21a081..9c2e05c 100644 --- a/apps/mosquito/api/pagination.py +++ b/apps/mosquito/api/pagination.py @@ -8,3 +8,10 @@ class PostLimitOffsetPagination(LimitOffsetPagination): class PostPageNumberPagination(PageNumberPagination): page_size = 10 + + +class DeviceLogHistoryPagination(PageNumberPagination): + page_size = 10 + page_size_query_param = 'limit' + page_query_param = 'page' + max_page_size = 1000 diff --git a/apps/mosquito/api/views.py b/apps/mosquito/api/views.py index b97c34b..9fdb9f1 100644 --- a/apps/mosquito/api/views.py +++ b/apps/mosquito/api/views.py @@ -14,7 +14,7 @@ from rest_framework.filters import SearchFilter, OrderingFilter from django.db.models import Q from counter.mixins.role import RoleMixin, DeviceListMixin from ..models import Mosquito, MosqPost, DeviceTempLog -from .pagination import PostLimitOffsetPagination, PostPageNumberPagination +from .pagination import PostLimitOffsetPagination, DeviceLogHistoryPagination from .serializers import ( MosqListSerializer, MosqPostListSerializer, @@ -70,7 +70,7 @@ class DeviceTempLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin): serializer_class = DeviceTempLogSerializer permission_classes = [IsAuthenticated] filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter) - pagination_class = DeviceLogPagination + pagination_class = DeviceLogHistoryPagination search_fields = ['device_id'] filterset_fields = ['device_id'] ordering_fields = ['-last_time']