修复用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):
|
||||
user_roles = self.get_role()
|
||||
device = self.request.GET.get('device')
|
||||
start = self.request.GET.get('start')
|
||||
end = self.request.GET.get('end')
|
||||
queryset = WeatherLog.objects.get_queryset().order_by('-data_time')
|
||||
|
@ -125,6 +126,15 @@ class WeatherLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
|||
devices = self.get_device_list()
|
||||
device_ids = [device.device_id for device in devices if device.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)
|
||||
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')
|
||||
if last_day == '1':
|
||||
t = datetime.now().replace(tzinfo=pytz.timezone('UTC')) - timedelta(days=1)
|
||||
|
|
Loading…
Reference in New Issue