# up device list api
This commit is contained in:
parent
7f9bf60975
commit
d1bc06940e
|
@ -39,36 +39,50 @@ class DeviceCountSerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class DeviceInfoSerializer(serializers.ModelSerializer):
|
||||
compile_time = serializers.SerializerMethodField()
|
||||
last_connect = serializers.SerializerMethodField()
|
||||
last_offline_time = serializers.SerializerMethodField()
|
||||
status = serializers.SerializerMethodField()
|
||||
count = serializers.SerializerMethodField()
|
||||
signal = serializers.SerializerMethodField()
|
||||
energy = serializers.SerializerMethodField()
|
||||
time = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = DeviceInfo
|
||||
fields = [
|
||||
'device_id',
|
||||
'device_name',
|
||||
'chip_type',
|
||||
'chip_id',
|
||||
'compile_time',
|
||||
'online',
|
||||
'last_connect',
|
||||
'last_offline_time'
|
||||
'status',
|
||||
'count',
|
||||
'signal',
|
||||
'energy',
|
||||
'time',
|
||||
]
|
||||
|
||||
def get_compile_time(self, obj):
|
||||
if obj.compile_time:
|
||||
return obj.compile_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
return None
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.latest = None
|
||||
|
||||
def get_last_connect(self, obj):
|
||||
if obj.last_connect:
|
||||
return obj.last_connect.strftime('%Y-%m-%d %H:%M:%S')
|
||||
return None
|
||||
def get_status(self, obj):
|
||||
return obj.online
|
||||
|
||||
def get_last_offline_time(self, obj):
|
||||
if obj.last_offline_time:
|
||||
return obj.last_offline_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
def get_count(self, obj):
|
||||
self.latest = DeviceCount.objects.filter(device_id=obj.device_id).order_by('-data_time')[0]
|
||||
if self.latest:
|
||||
return self.latest.count
|
||||
return 0
|
||||
|
||||
def get_signal(self, obj):
|
||||
if self.latest:
|
||||
return self.latest.csq
|
||||
return 0
|
||||
|
||||
def get_energy(self, obj):
|
||||
if self.latest:
|
||||
return self.latest.vol
|
||||
return 0
|
||||
|
||||
def get_time(self, obj):
|
||||
if self.latest:
|
||||
return self.latest.data_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
return None
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue