# up coor

This commit is contained in:
xianfuxing 2018-08-28 12:25:18 +08:00
parent 0141092fa0
commit 421584d4fc
1 changed files with 11 additions and 0 deletions

View File

@ -1,4 +1,5 @@
import pytz import pytz
from django.db.models import Q
from datetime import datetime, time from datetime import datetime, time
from django.db.models import Sum from django.db.models import Sum
from rest_framework import serializers from rest_framework import serializers
@ -43,6 +44,7 @@ class DeviceInfoSerializer(serializers.ModelSerializer):
count = serializers.SerializerMethodField() count = serializers.SerializerMethodField()
signal = serializers.SerializerMethodField() signal = serializers.SerializerMethodField()
energy = serializers.SerializerMethodField() energy = serializers.SerializerMethodField()
coordinate = serializers.SerializerMethodField()
time = serializers.SerializerMethodField() time = serializers.SerializerMethodField()
class Meta: class Meta:
@ -54,6 +56,7 @@ class DeviceInfoSerializer(serializers.ModelSerializer):
'count', 'count',
'signal', 'signal',
'energy', 'energy',
'coordinate',
'time', 'time',
] ]
@ -83,6 +86,14 @@ class DeviceInfoSerializer(serializers.ModelSerializer):
return self.latest.vol return self.latest.vol
return 0 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): def get_time(self, obj):
if self.latest: if self.latest:
return self.latest.data_time.strftime('%Y-%m-%d %H:%M:%S') return self.latest.data_time.strftime('%Y-%m-%d %H:%M:%S')