From 56cc550134c4304e450151385e0b5b90691d5fe2 Mon Sep 17 00:00:00 2001 From: "VIJAY\\vijay" Date: Mon, 29 Aug 2022 11:19:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E5=A4=87=E5=B8=85?= =?UTF-8?q?=E9=80=89=E7=9A=84=E9=80=BB=E8=BE=91bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/mixins/role.py | 4 ++-- apps/mosquito/api/views.py | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/counter/mixins/role.py b/apps/counter/mixins/role.py index a6d03c2..44c2dc4 100644 --- a/apps/counter/mixins/role.py +++ b/apps/counter/mixins/role.py @@ -23,9 +23,9 @@ class DeviceListMixin(object): return device_list -class WeatherStationDeviceListMixin(object): +class WeatherStationListMixin(object): @staticmethod - def get_device_list(): + def get_weather_station_list(): if cache.get('device_list'): device_list = cache.get('device_list') else: diff --git a/apps/mosquito/api/views.py b/apps/mosquito/api/views.py index c791c86..c0badbc 100644 --- a/apps/mosquito/api/views.py +++ b/apps/mosquito/api/views.py @@ -14,8 +14,8 @@ from django_filters.rest_framework import DjangoFilterBackend from rest_framework.permissions import IsAuthenticated from rest_framework.filters import SearchFilter, OrderingFilter from django.db.models import Q -from counter.mixins.role import RoleMixin, DeviceListMixin, WeatherStationDeviceListMixin -from ..models import Mosquito, MosqPost, DeviceTempLog, WeatherLog +from counter.mixins.role import RoleMixin, DeviceListMixin, WeatherStationListMixin +from ..models import Mosquito, MosqPost, DeviceTempLog, WeatherLog, WeatherStationInfo from .pagination import PostLimitOffsetPagination, DeviceLogHistoryPagination, WeatherlogHistoryPagination from .serializers import ( MosqListSerializer, @@ -106,7 +106,7 @@ class DeviceTempLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin): return queryset -class WeatherLogListAPIView(ListAPIView, RoleMixin, WeatherStationDeviceListMixin): +class WeatherLogListAPIView(ListAPIView, RoleMixin, WeatherStationListMixin): serializer_class = WeatherLogSerializer permission_classes = [IsAuthenticated] filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter) @@ -121,12 +121,11 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, WeatherStationDeviceListMixi start = self.request.GET.get('start') end = self.request.GET.get('end') queryset = WeatherLog.objects.get_queryset().order_by('-data_time') + queryset_info = WeatherStationInfo.objects.get_queryset().order_by('device_id') if 'staff' in user_roles or 'manager' in user_roles: - device_list = self.get_device_list() - device_ids = [query.device_id for query in device_list if query.org == self.request.user.org] + device_ids = [query.device_id for query in queryset_info if query.org == self.request.user.org] queryset = queryset.filter(device_id__in=device_ids) - if device: # device_id or device_name qs = queryset.filter(device_id__icontains=device)