# up smart

This commit is contained in:
xianfuxing 2018-07-13 17:32:44 +08:00
parent 976c9e8a89
commit e8c4c8fdf4
4 changed files with 28 additions and 10 deletions

View File

@ -16,7 +16,6 @@ class MosqListSerializer(serializers.ModelSerializer):
class MosqPostListSerializer(serializers.ModelSerializer):
region = serializers.SerializerMethodField()
smarts = serializers.SerializerMethodField()
class Meta:
model = MosqPost
@ -25,14 +24,8 @@ class MosqPostListSerializer(serializers.ModelSerializer):
'led',
'energy',
'region',
'smarts',
'time',
]
def get_region(self, obj):
return obj.mosq.region
def get_smarts(self, obj):
smart_queryset = obj.mosq.smart_module.all()
smarts = SmartListSerializer(smart_queryset, many=True).data
return smarts

View File

@ -1,6 +1,6 @@
from django.db import models
from django.contrib.contenttypes.fields import GenericRelation
from smart.models import SmartModule
from smart.models import SmartModule, SmartPush
class Mosquito(models.Model):
@ -24,12 +24,13 @@ class Mosquito(models.Model):
class MosqPost(models.Model):
smart_push = models.ForeignKey(SmartPush, on_delete='PROTECT')
mosq = models.ForeignKey(Mosquito, verbose_name='灭蚊灯', on_delete='PROTECT')
led = models.PositiveIntegerField(verbose_name='灭蚊数')
energy = models.PositiveIntegerField(verbose_name='电量')
# signal = models.IntegerField(verbose_name='信号')
# coordinate = models.CharField(max_length=100, verbose_name='坐标')
times = models.DateTimeField(auto_now=False, auto_now_add=True)
time = models.DateTimeField(auto_now=False, auto_now_add=True)
class Meta:
verbose_name = '灭蚊数据'

View File

@ -1,5 +1,5 @@
from rest_framework import serializers
from smart.models import SmartModule
from smart.models import SmartModule, SmartPush
class SmartListSerializer(serializers.ModelSerializer):
@ -11,3 +11,15 @@ class SmartListSerializer(serializers.ModelSerializer):
'device_id',
'chip_id'
]
class SmartPushListSerializer(serializers.ModelSerializer):
class Meta:
model = SmartPush
fields = [
'smart',
'signal',
'coordinate',
'time',
]

View File

@ -24,3 +24,15 @@ class SmartPush(models.Model):
smart = models.ForeignKey(SmartModule, on_delete=models.PROTECT, verbose_name='智能模块')
signal = models.IntegerField(verbose_name='信号')
coordinate = models.CharField(max_length=100, verbose_name='坐标')
time = models.DateTimeField(auto_now=False, auto_now_add=True)
class Meta:
verbose_name = '智能模块数据'
verbose_name_plural = verbose_name
def __str__(self):
return '{0}: {1}'.format(self.smart.name, self.signal)
def get_api_url(self):
pass