优化设备信息接口,一页展示
This commit is contained in:
parent
7f617c8f17
commit
fb907262be
|
@ -43,3 +43,17 @@ class WeatherlogHistoryPagination(PageNumberPagination):
|
||||||
page_size_query_param = 'limit'
|
page_size_query_param = 'limit'
|
||||||
page_query_param = 'page'
|
page_query_param = 'page'
|
||||||
max_page_size = 1000
|
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
|
|
@ -16,7 +16,13 @@ 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, WeatherStationListMixin
|
from counter.mixins.role import RoleMixin, DeviceListMixin, WeatherStationListMixin
|
||||||
from ..models import Mosquito, MosqPost, DeviceTempLog, WeatherLog, WeatherStationInfo, DeviceInfo
|
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 (
|
from .serializers import (
|
||||||
MosqListSerializer,
|
MosqListSerializer,
|
||||||
MosqPostListSerializer,
|
MosqPostListSerializer,
|
||||||
|
@ -157,11 +163,11 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, WeatherStationListMixin):
|
||||||
return queryset
|
return queryset
|
||||||
|
|
||||||
|
|
||||||
class WeatherStationInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin):
|
class WeatherStationInfoAPIView(ListAPIView, RoleMixin):
|
||||||
serializer_class = WeatherStationInfoSerializer
|
serializer_class = WeatherStationInfoSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
pagination_class = PostLimitOffsetPagination
|
pagination_class = WeatherStationInfoPagination
|
||||||
search_fields = ['name', 'device_id']
|
search_fields = ['name', 'device_id']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
@ -177,11 +183,11 @@ class WeatherStationInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin)
|
||||||
return queryset_list
|
return queryset_list
|
||||||
|
|
||||||
|
|
||||||
class DeviceInfoAPIView(ListAPIView, RoleMixin, WeatherStationListMixin):
|
class DeviceInfoAPIView(ListAPIView, RoleMixin):
|
||||||
serializer_class = DeviceInfoSerializer
|
serializer_class = DeviceInfoSerializer
|
||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
filter_backends = [SearchFilter, OrderingFilter]
|
filter_backends = [SearchFilter, OrderingFilter]
|
||||||
pagination_class = PostLimitOffsetPagination
|
pagination_class = DeviceInfoPagination
|
||||||
search_fields = ['name', 'device_id']
|
search_fields = ['name', 'device_id']
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
|
|
Loading…
Reference in New Issue