# 优化sum代码

This commit is contained in:
xianfuxing 2020-06-05 15:24:20 +08:00
parent 152da4990c
commit d885608444
1 changed files with 3 additions and 3 deletions

View File

@ -103,7 +103,7 @@ class LatestStatisticAPIView(APIView, RoleMixin):
for x in DeviceCount.objects.filter( for x in DeviceCount.objects.filter(
device_id__in=devices).values('device_id').annotate(max_time=Max('data_time'))] device_id__in=devices).values('device_id').annotate(max_time=Max('data_time'))]
if total_count_queryset: if total_count_queryset:
total_count = sum(map(lambda x: int(x.count), total_count_queryset)) total_count = sum(int(device.count) for device in total_count_queryset)
else: else:
total_count = 0 total_count = 0
@ -117,7 +117,7 @@ class LatestStatisticAPIView(APIView, RoleMixin):
data_time__lt=cur_month, device_id__in=devices).values('device_id').annotate( data_time__lt=cur_month, device_id__in=devices).values('device_id').annotate(
max_time=Max('data_time'))] max_time=Max('data_time'))]
if one_month_ago_queryset: if one_month_ago_queryset:
one_month_ago_count = sum(map(lambda x: int(x.count), one_month_ago_queryset)) one_month_ago_count = sum(int(device.count) for device in one_month_ago_queryset)
cur_month_count = total_count - one_month_ago_count cur_month_count = total_count - one_month_ago_count
else: else:
cur_month_count = total_count cur_month_count = total_count
@ -127,7 +127,7 @@ class LatestStatisticAPIView(APIView, RoleMixin):
for x in DeviceCount.objects.filter( for x in DeviceCount.objects.filter(
data_time__lt=midnight, device_id__in=devices).values('device_id').annotate(max_time=Max('data_time'))] data_time__lt=midnight, device_id__in=devices).values('device_id').annotate(max_time=Max('data_time'))]
if one_day_ago_queryset: if one_day_ago_queryset:
one_day_ago_count = sum(map(lambda x: int(x.count), one_day_ago_queryset)) one_day_ago_count = sum(int(device.count) for device in one_day_ago_queryset)
daily_count = total_count - one_day_ago_count daily_count = total_count - one_day_ago_count
else: else:
daily_count = 0 daily_count = 0