# 分页修改

This commit is contained in:
xianfuxing 2020-05-27 16:50:16 +08:00
parent 08d35d0945
commit eb0b4f665a
3 changed files with 15 additions and 4 deletions

View File

@ -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):

View File

@ -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

View File

@ -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']