From 9ae1577478b864d2f4a8191a893bff34d79b2c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E4=BC=9F=E6=9D=B0?= <> Date: Fri, 24 Feb 2023 17:51:17 +0800 Subject: [PATCH] =?UTF-8?q?/api/counter/logs=E6=8E=A5=E5=8F=A3=E7=9A=84wit?= =?UTF-8?q?h=5Fdevice=E6=96=B9=E5=BC=8F=E5=A2=9E=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E7=8A=B6=E6=80=81status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/serializers.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index 706413f..d07861d 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -90,7 +90,9 @@ def get_device(device_id: str, source: str) -> Optional[dict]: device = qs.first() s = device_source_map[source](device) + print(s) data = s.data + print(data) cache.set(device_key, data, 60 * 10) return data @@ -170,6 +172,7 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer): weather_code = serializers.SerializerMethodField() point_x = serializers.SerializerMethodField() point_y = serializers.SerializerMethodField() + status = serializers.SerializerMethodField() class Meta: model = DeviceCount @@ -187,6 +190,7 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer): 'weather_code', 'point_x', 'point_y', + 'status' ] def get_location_id(self, obj): @@ -217,6 +221,15 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer): return device.point_y return None + def get_status(self, obj): + device = self.device + online = None + if device: + print(device) + qs = DeviceInfo.objects.filter(device_id=device) + online = qs[0].online + return online + class DeviceInfoSerializer(serializers.ModelSerializer): device_name = serializers.SerializerMethodField()