From a7da7e4b5f6c59e49e626949389bc59d54cbf720 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Tue, 2 Jun 2020 15:48:48 +0800 Subject: [PATCH] =?UTF-8?q?#=20=E4=BC=98=E5=8C=96=E8=8E=B7=E5=8F=96device?= =?UTF-8?q?=5Fname=20=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/serializers.py | 14 +++++++++----- apps/counter/mixins/role.py | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index 7167df4..aa332b5 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -1,7 +1,5 @@ -import pytz from django.db.models import Q -from datetime import datetime, time -from django.db.models import Sum +from django.core.cache import cache from rest_framework import serializers from counter.models import DeviceCount, DeviceInfo from mosquito.models import DeviceInfo as CelexDeviceInfo @@ -42,10 +40,16 @@ class DeviceCountSerializer(serializers.ModelSerializer): return obj.data_time.strftime('%Y-%m-%d %H:%M:%S') def get_device_name(self, obj): - qs = CelexDeviceInfo.objects.filter(device_id=obj.device_id) + device_id = obj.device_id + cache_content = cache.get(device_id) + if cache_content: + return cache_content + qs = CelexDeviceInfo.objects.filter(device_id=device_id) if qs.count() > 0: device = qs[0] - return device.device_name + device_name = device.device_name + cache.set(device_id, device_name, 60 * 60 * 24) + return device_name return None diff --git a/apps/counter/mixins/role.py b/apps/counter/mixins/role.py index 81b6c3a..13d0ce7 100644 --- a/apps/counter/mixins/role.py +++ b/apps/counter/mixins/role.py @@ -13,7 +13,7 @@ class RoleMixin(object): class DeviceListMixin(object): @staticmethod def get_device_list(): - if cache.has_key('device_list'): + if cache.get('device_list'): device_list = cache.get('device_list') else: device_list = DeviceInfo.objects.get_queryset().order_by('-online')