修复用device_id和device_name不能搜索的问题
This commit is contained in:
parent
ff0e65898b
commit
2f2dfbbe91
|
@ -117,6 +117,7 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
user_roles = self.get_role()
|
user_roles = self.get_role()
|
||||||
|
device = self.request.GET.get('device')
|
||||||
start = self.request.GET.get('start')
|
start = self.request.GET.get('start')
|
||||||
end = self.request.GET.get('end')
|
end = self.request.GET.get('end')
|
||||||
queryset = WeatherLog.objects.get_queryset().order_by('-data_time')
|
queryset = WeatherLog.objects.get_queryset().order_by('-data_time')
|
||||||
|
@ -125,6 +126,15 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
||||||
devices = self.get_device_list()
|
devices = self.get_device_list()
|
||||||
device_ids = [device.device_id for device in devices if device.org == self.request.user.org]
|
device_ids = [device.device_id for device in devices if device.org == self.request.user.org]
|
||||||
queryset = queryset.filter(device_id__in=device_ids)
|
queryset = queryset.filter(device_id__in=device_ids)
|
||||||
|
if device:
|
||||||
|
# device_id or device_name
|
||||||
|
qs = queryset.filter(device_id__icontains=device)
|
||||||
|
if qs.count() > 0:
|
||||||
|
queryset = qs
|
||||||
|
else:
|
||||||
|
qs = WeatherLog.objects.filter(device_name__contains=device)
|
||||||
|
device_ids = [device.device_id for device in qs]
|
||||||
|
queryset = queryset.filter(device_id__in=device_ids)
|
||||||
last_day = self.request.GET.get('last_day')
|
last_day = self.request.GET.get('last_day')
|
||||||
if last_day == '1':
|
if last_day == '1':
|
||||||
t = datetime.now().replace(tzinfo=pytz.timezone('UTC')) - timedelta(days=1)
|
t = datetime.now().replace(tzinfo=pytz.timezone('UTC')) - timedelta(days=1)
|
||||||
|
|
Loading…
Reference in New Issue