50 lines
1.3 KiB
Python
50 lines
1.3 KiB
Python
from rest_framework import serializers
|
|
from mosquito.models import Mosquito, MosqPost, DeviceTempLog
|
|
from smart.api.serializers import SmartPushListSerializer
|
|
|
|
|
|
class MosqListSerializer(serializers.ModelSerializer):
|
|
|
|
class Meta:
|
|
model = Mosquito
|
|
fields = [
|
|
'name',
|
|
'device_id',
|
|
'region'
|
|
]
|
|
|
|
|
|
class MosqPostListSerializer(serializers.ModelSerializer):
|
|
smart_push = SmartPushListSerializer(read_only=True)
|
|
region = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = MosqPost
|
|
fields = [
|
|
'id',
|
|
'mosq',
|
|
'led',
|
|
'energy',
|
|
'region',
|
|
'smart_push',
|
|
'time',
|
|
]
|
|
|
|
def get_region(self, obj):
|
|
return obj.mosq.region
|
|
|
|
|
|
class DeviceTempLogSerializer(serializers.ModelSerializer):
|
|
last_time = serializers.SerializerMethodField()
|
|
create_time = serializers.SerializerMethodField()
|
|
|
|
class Meta:
|
|
model = DeviceTempLog
|
|
fields = ['device_id', 'temperature', 'humidity', 'last_time', 'create_time']
|
|
|
|
def get_last_time(self, obj):
|
|
return obj.last_time.strftime('%Y-%m-%d %H:%M:%S')
|
|
|
|
def get_create_time(self, obj):
|
|
return obj.last_time.strftime('%Y-%m-%d %H:%M:%S')
|