# up humiture
This commit is contained in:
parent
b824f8e6c3
commit
e0fb6d9727
|
@ -35,7 +35,15 @@ class MosqPostListSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class DeviceTempLogSerializer(serializers.ModelSerializer):
|
class DeviceTempLogSerializer(serializers.ModelSerializer):
|
||||||
|
last_time = serializers.SerializerMethodField()
|
||||||
|
create_time = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = DeviceTempLog
|
model = DeviceTempLog
|
||||||
fields = '__all__'
|
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')
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
|
import pytz
|
||||||
from rest_framework.generics import (
|
from rest_framework.generics import (
|
||||||
ListAPIView,
|
ListAPIView,
|
||||||
RetrieveAPIView,
|
RetrieveAPIView,
|
||||||
CreateAPIView
|
CreateAPIView
|
||||||
)
|
)
|
||||||
|
from django.utils.timezone import timedelta, datetime
|
||||||
from rest_framework import filters
|
from rest_framework import filters
|
||||||
from rest_framework.pagination import PageNumberPagination
|
from rest_framework.pagination import PageNumberPagination
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
@ -75,16 +77,15 @@ class DeviceTempLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
||||||
|
|
||||||
def get_queryset(self, *args, **kwargs):
|
def get_queryset(self, *args, **kwargs):
|
||||||
user_roles = self.get_role()
|
user_roles = self.get_role()
|
||||||
queryset_list = DeviceTempLog.objects.get_queryset().order_by('-create_time')
|
queryset = DeviceTempLog.objects.get_queryset().order_by('-create_time')
|
||||||
|
|
||||||
if 'staff' in user_roles or 'admin' in user_roles:
|
if 'staff' in user_roles or 'admin' in user_roles:
|
||||||
device_list = self.get_device_list()
|
device_list = self.get_device_list()
|
||||||
device_ids = [query.device_id for query in device_list if query.org == self.request.user.org]
|
device_ids = [query.device_id for query in device_list if query.org == self.request.user.org]
|
||||||
queryset_list = queryset_list.filter(device_id__in=device_ids)
|
queryset = queryset.filter(device_id__in=device_ids)
|
||||||
# device_id = self.request.GET.get('device_id')
|
last_day = self.request.GET.get('last_day')
|
||||||
|
if last_day == '1':
|
||||||
# if device_id:
|
t = datetime.now().replace(tzinfo=pytz.timezone('UTC')) - timedelta(days=1)
|
||||||
# queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
queryset = queryset.filter(last_time__gte=t).filter(last_time__minute=0)
|
||||||
|
|
||||||
return queryset_list
|
|
||||||
|
|
||||||
|
return queryset
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-09-01 02:20
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('smart', '__first__'),
|
||||||
|
('mosquito', '0010_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='devicetemplog',
|
||||||
|
name='last_time',
|
||||||
|
field=models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='日志时间'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -93,7 +93,7 @@ class DeviceTempLog(models.Model):
|
||||||
device_id = models.CharField(max_length=100, verbose_name='设备ID')
|
device_id = models.CharField(max_length=100, verbose_name='设备ID')
|
||||||
temperature = models.DecimalField(max_digits=6, decimal_places=2, verbose_name='温度')
|
temperature = models.DecimalField(max_digits=6, decimal_places=2, verbose_name='温度')
|
||||||
humidity = models.DecimalField(max_digits=6, decimal_places=2, verbose_name='湿度')
|
humidity = models.DecimalField(max_digits=6, decimal_places=2, verbose_name='湿度')
|
||||||
last_time = models.DateTimeField(null=True, blank=True, verbose_name='日志时间')
|
last_time = models.DateTimeField(null=True, blank=True, db_index=True, verbose_name='日志时间')
|
||||||
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
|
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
Loading…
Reference in New Issue