From 421584d4fc73020ec07d8b591af750a2b461a75b Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Tue, 28 Aug 2018 12:25:18 +0800 Subject: [PATCH] # up coor --- apps/counter/api/serializers.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index 0d78acf..be79259 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -1,4 +1,5 @@ import pytz +from django.db.models import Q from datetime import datetime, time from django.db.models import Sum from rest_framework import serializers @@ -43,6 +44,7 @@ class DeviceInfoSerializer(serializers.ModelSerializer): count = serializers.SerializerMethodField() signal = serializers.SerializerMethodField() energy = serializers.SerializerMethodField() + coordinate = serializers.SerializerMethodField() time = serializers.SerializerMethodField() class Meta: @@ -54,6 +56,7 @@ class DeviceInfoSerializer(serializers.ModelSerializer): 'count', 'signal', 'energy', + 'coordinate', 'time', ] @@ -83,6 +86,14 @@ class DeviceInfoSerializer(serializers.ModelSerializer): return self.latest.vol return 0 + def get_coordinate(self, obj): + query = DeviceCount.objects.filter(~Q(longitude=0), device_id=obj.device_id).order_by('-data_time') + if query: + q = query[0] + return [q.longitude, q.latitude] + return None + + def get_time(self, obj): if self.latest: return self.latest.data_time.strftime('%Y-%m-%d %H:%M:%S')