优化设备信息接口,一页展示

This commit is contained in:
VIJAY\vijay 2022-12-01 12:15:47 +08:00
parent 7f617c8f17
commit fb907262be
2 changed files with 25 additions and 5 deletions

View File

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

View File

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