Mosqkiller-API/apps/mosquito/api/serializers.py

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