From a05b4b9cb1725727493d3b94e1b2a66635de1cd8 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Tue, 1 Sep 2020 11:32:35 +0800 Subject: [PATCH] =?UTF-8?q?#=20device=20status=20=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E8=AE=BE=E5=A4=87=20bug=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/views.py | 6 +++--- apps/mosquito/api/pagination.py | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index 732c307..9bfd34d 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -15,7 +15,7 @@ from rest_framework.permissions import IsAuthenticated from rest_framework.filters import SearchFilter, OrderingFilter from mosquito.api.pagination import ( LatestDailyPagination, - PostPageNumberPagination, + DeviceInfoListPagination, DeviceLogListPagination, DeviceLogHistoryPagination ) @@ -73,12 +73,12 @@ class DeviceInfoListAPIView(ListAPIView, RoleMixin): serializer_class = DeviceInfoSerializer permission_classes = [IsAuthenticated] filter_backends = [SearchFilter, OrderingFilter] - pagination_class = PostPageNumberPagination + pagination_class = DeviceInfoListPagination search_fields = ['device_id', 'online'] def get_queryset(self, *args, **kwargs): user_roles = self.get_role() - queryset = DeviceInfo.objects.get_queryset().order_by('-online') + queryset = DeviceInfo.objects.all().order_by('-last_offline_time') if 'staff' in user_roles or 'manager' in user_roles: device_ids = [query.device_id for query in queryset if query.org == self.request.user.org] queryset = queryset.filter(device_id__in=device_ids) diff --git a/apps/mosquito/api/pagination.py b/apps/mosquito/api/pagination.py index cd5c8f8..97cb95d 100644 --- a/apps/mosquito/api/pagination.py +++ b/apps/mosquito/api/pagination.py @@ -10,6 +10,13 @@ class PostPageNumberPagination(PageNumberPagination): page_size = 10 +class DeviceInfoListPagination(PageNumberPagination): + page_size = 10 + page_size_query_param = 'limit' + page_query_param = 'page' + max_page_size = 1000 + + class LatestDailyPagination(PageNumberPagination): page_size = 7 page_size_query_param = 'limit'