From 3612cf49324cd440456ba61ff9d612b4acdafde0 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Sun, 19 Aug 2018 13:33:03 +0800 Subject: [PATCH] # add search for device list api --- apps/counter/api/views.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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]