# 分页修改

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.permissions import IsAuthenticated
from rest_framework.filters import SearchFilter, OrderingFilter 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 ( from .serializers import (
DeviceCountSerializer, DeviceCountSerializer,
DeviceInfoSerializer, DeviceInfoSerializer,
@ -133,7 +137,7 @@ class DeviceLogHistoryListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
serializer_class = DeviceLogHistorySerializer serializer_class = DeviceLogHistorySerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
filter_backends = [SearchFilter, OrderingFilter] filter_backends = [SearchFilter, OrderingFilter]
pagination_class = PostPageNumberPagination pagination_class = DeviceLogHistoryPagination
search_fields = ['device_id', 'date'] search_fields = ['device_id', 'date']
def get_queryset(self, *args, **kwargs): def get_queryset(self, *args, **kwargs):

View File

@ -8,3 +8,10 @@ class PostLimitOffsetPagination(LimitOffsetPagination):
class PostPageNumberPagination(PageNumberPagination): class PostPageNumberPagination(PageNumberPagination):
page_size = 10 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 django.db.models import Q
from counter.mixins.role import RoleMixin, DeviceListMixin from counter.mixins.role import RoleMixin, DeviceListMixin
from ..models import Mosquito, MosqPost, DeviceTempLog from ..models import Mosquito, MosqPost, DeviceTempLog
from .pagination import PostLimitOffsetPagination, PostPageNumberPagination from .pagination import PostLimitOffsetPagination, DeviceLogHistoryPagination
from .serializers import ( from .serializers import (
MosqListSerializer, MosqListSerializer,
MosqPostListSerializer, MosqPostListSerializer,
@ -70,7 +70,7 @@ class DeviceTempLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
serializer_class = DeviceTempLogSerializer serializer_class = DeviceTempLogSerializer
permission_classes = [IsAuthenticated] permission_classes = [IsAuthenticated]
filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter) filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter)
pagination_class = DeviceLogPagination pagination_class = DeviceLogHistoryPagination
search_fields = ['device_id'] search_fields = ['device_id']
filterset_fields = ['device_id'] filterset_fields = ['device_id']
ordering_fields = ['-last_time'] ordering_fields = ['-last_time']