# add smart
This commit is contained in:
parent
8965b5d190
commit
f69bf49d85
|
@ -0,0 +1,26 @@
|
|||
from rest_framework import serializers
|
||||
from mosquito.models import MosqPost
|
||||
|
||||
|
||||
class MosqPostListSerializer(serializers.ModelSerializer):
|
||||
smart_chip = serializers.SerializerMethodField()
|
||||
region = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = MosqPost
|
||||
fields = [
|
||||
'mosq',
|
||||
'led',
|
||||
'energy',
|
||||
'smart_chip'
|
||||
'signal',
|
||||
'coordinate'
|
||||
'region'
|
||||
'time'
|
||||
]
|
||||
|
||||
def get_smart_chip(self, obj):
|
||||
return obj.mosq.smart_module.device_id
|
||||
|
||||
def get_region(self, obj):
|
||||
return obj.mosq.region
|
|
@ -1,31 +1,20 @@
|
|||
from django.db import models
|
||||
|
||||
|
||||
class SmartModule(models.Model):
|
||||
name = models.CharField(max_length=50, verbose_name='模块名称')
|
||||
device_id = models.CharField(max_length=100, verbose_name='模块ID')
|
||||
chip_id = models.CharField(max_length=100, verbose_name='单片机ID')
|
||||
|
||||
class Meta:
|
||||
verbose_name = '智能模块'
|
||||
verbose_name_plural = verbose_name
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
from django.contrib.contenttypes.fields import GenericRelation
|
||||
from smart.models import SmartModule
|
||||
|
||||
|
||||
class Mosquito(models.Model):
|
||||
name = models.CharField(max_length=100, verbose_name='设备名称')
|
||||
device_id = models.CharField(max_length=100, verbose_name='设备ID')
|
||||
smart_module = models.ForeignKey(SmartModule, on_delete='PROTECT')
|
||||
region = models.CharField(max_length=50, verbose_name='区域')
|
||||
smart_module = GenericRelation(SmartModule)
|
||||
|
||||
class Meta:
|
||||
verbose_name = '灭蚊灯'
|
||||
verbose_name_plural = verbose_name
|
||||
|
||||
def __str__(self):
|
||||
return self.device_id
|
||||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
pass
|
||||
|
@ -36,9 +25,10 @@ class Mosquito(models.Model):
|
|||
|
||||
class MosqPost(models.Model):
|
||||
mosq = models.ForeignKey(Mosquito, verbose_name='灭蚊灯', on_delete='PROTECT')
|
||||
led = models.PositiveIntegerField(max_length=30, verbose_name='灭蚊数')
|
||||
energy = models.PositiveIntegerField(max_length=10, verbose_name='电量')
|
||||
signal = models.IntegerField(max_length=10, verbose_name='信号')
|
||||
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)
|
||||
|
||||
class Meta:
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
|
@ -0,0 +1,5 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class SmartConfig(AppConfig):
|
||||
name = 'smart'
|
|
@ -0,0 +1,21 @@
|
|||
from django.db import models
|
||||
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||
from django.contrib.contenttypes.fields import GenericRelation
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
|
||||
|
||||
class SmartModule(models.Model):
|
||||
name = models.CharField(max_length=50, verbose_name='模块名称')
|
||||
desc = models.CharField(max_length=200, verbose_name='简介')
|
||||
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
|
||||
object_id = models.PositiveIntegerField()
|
||||
content_object = GenericForeignKey('content_type', 'object_id')
|
||||
device_id = models.CharField(max_length=100, verbose_name='模块ID')
|
||||
chip_id = models.CharField(max_length=100, verbose_name='单片机ID')
|
||||
|
||||
class Meta:
|
||||
verbose_name = '智能模块'
|
||||
verbose_name_plural = verbose_name
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
|
@ -0,0 +1,3 @@
|
|||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
|
@ -0,0 +1,3 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
# Create your views here.
|
|
@ -40,6 +40,7 @@ INSTALLED_APPS = [
|
|||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'mosquito',
|
||||
'smart',
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
|
Loading…
Reference in New Issue