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()