From e8c4c8fdf4905282561133fbb0478e09a7ccc2e8 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Fri, 13 Jul 2018 17:32:44 +0800 Subject: [PATCH] # up smart --- apps/mosquito/api/serializers.py | 7 ------- apps/mosquito/models.py | 5 +++-- apps/smart/api/serializers.py | 14 +++++++++++++- apps/smart/models.py | 12 ++++++++++++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/apps/mosquito/api/serializers.py b/apps/mosquito/api/serializers.py index b2ab074..c529677 100644 --- a/apps/mosquito/api/serializers.py +++ b/apps/mosquito/api/serializers.py @@ -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 diff --git a/apps/mosquito/models.py b/apps/mosquito/models.py index 2cfac8d..0f40914 100644 --- a/apps/mosquito/models.py +++ b/apps/mosquito/models.py @@ -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 = '灭蚊数据' diff --git a/apps/smart/api/serializers.py b/apps/smart/api/serializers.py index 5091f31..c465ce6 100644 --- a/apps/smart/api/serializers.py +++ b/apps/smart/api/serializers.py @@ -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', + ] \ No newline at end of file diff --git a/apps/smart/models.py b/apps/smart/models.py index 712e787..ac5b0df 100644 --- a/apps/smart/models.py +++ b/apps/smart/models.py @@ -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 +