From fb907262bee80d947e60dc0d32ceaf39599e9378 Mon Sep 17 00:00:00 2001 From: "VIJAY\\vijay" Date: Thu, 1 Dec 2022 12:15:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=BE=E5=A4=87=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=B8=80=E9=A1=B5=E5=B1=95?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mosquito/api/pagination.py | 14 ++++++++++++++ apps/mosquito/api/views.py | 16 +++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/apps/mosquito/api/pagination.py b/apps/mosquito/api/pagination.py index bf94af3..aa39058 100644 --- a/apps/mosquito/api/pagination.py +++ b/apps/mosquito/api/pagination.py @@ -43,3 +43,17 @@ class WeatherlogHistoryPagination(PageNumberPagination): page_size_query_param = 'limit' page_query_param = 'page' max_page_size = 1000 + + +class DeviceInfoPagination(PageNumberPagination): + page_size = 100 + page_size_query_param = 'limit' + page_query_param = 'page' + max_page_size = 1000 + + +class WeatherStationInfoPagination(PageNumberPagination): + page_size = 100 + page_size_query_param = 'limit' + page_query_param = 'page' + max_page_size = 1000 \ No newline at end of file diff --git a/apps/mosquito/api/views.py b/apps/mosquito/api/views.py index a684157..15b484b 100644 --- a/apps/mosquito/api/views.py +++ b/apps/mosquito/api/views.py @@ -16,7 +16,13 @@ from rest_framework.filters import SearchFilter, OrderingFilter from django.db.models import Q from counter.mixins.role import RoleMixin, DeviceListMixin, WeatherStationListMixin from ..models import Mosquito, MosqPost, DeviceTempLog, WeatherLog, WeatherStationInfo, DeviceInfo -from .pagination import PostLimitOffsetPagination, DeviceLogHistoryPagination, WeatherlogHistoryPagination +from .pagination import ( + PostLimitOffsetPagination, + DeviceLogHistoryPagination, + WeatherlogHistoryPagination, + DeviceInfoPagination, + WeatherStationInfoPagination, +) from .serializers import ( MosqListSerializer, MosqPostListSerializer, @@ -157,11 +163,11 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, WeatherStationListMixin): return queryset -class WeatherStationInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin): +class WeatherStationInfoAPIView(ListAPIView, RoleMixin): serializer_class = WeatherStationInfoSerializer permission_classes = [IsAuthenticated] filter_backends = [SearchFilter, OrderingFilter] - pagination_class = PostLimitOffsetPagination + pagination_class = WeatherStationInfoPagination search_fields = ['name', 'device_id'] def get_queryset(self, *args, **kwargs): @@ -177,11 +183,11 @@ class WeatherStationInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin) return queryset_list -class DeviceInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin): +class DeviceInfoAPIView(ListAPIView, RoleMixin): serializer_class = DeviceInfoSerializer permission_classes = [IsAuthenticated] filter_backends = [SearchFilter, OrderingFilter] - pagination_class = PostLimitOffsetPagination + pagination_class = DeviceInfoPagination search_fields = ['name', 'device_id'] def get_queryset(self, *args, **kwargs):