diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index b12c66b..110b9fd 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -36,9 +36,20 @@ class DeviceInfoListAPIView(ListAPIView): permission_classes = [IsAuthenticated] filter_backends = [SearchFilter, OrderingFilter] pagination_class = PostPageNumberPagination - search_fields = ['device_id', 'device_name', 'chip_type', 'chip_id'] + search_fields = ['device_id', 'online'] queryset = DeviceInfo.objects.all() + def get_queryset(self, *args, **kwargs): + queryset_list = DeviceInfo.objects.get_queryset().order_by('device_id') + device_id = self.request.GET.get('device_id') + status = self.request.GET.get('status') + if device_id: + queryset_list = queryset_list.filter(device_id=device_id) + + if status: + queryset_list = queryset_list.filter(online=int(status)) + return queryset_list + class DeviceLogStatisticAPIView(APIView): permission_classes = [IsAuthenticated]