# up humiture
This commit is contained in:
parent
b824f8e6c3
commit
e0fb6d9727
|
@ -35,7 +35,15 @@ class MosqPostListSerializer(serializers.ModelSerializer):
|
|||
|
||||
|
||||
class DeviceTempLogSerializer(serializers.ModelSerializer):
|
||||
last_time = serializers.SerializerMethodField()
|
||||
create_time = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
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 (
|
||||
ListAPIView,
|
||||
RetrieveAPIView,
|
||||
CreateAPIView
|
||||
)
|
||||
from django.utils.timezone import timedelta, datetime
|
||||
from rest_framework import filters
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
from django_filters.rest_framework import DjangoFilterBackend
|
||||
|
@ -75,16 +77,15 @@ class DeviceTempLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
|||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
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:
|
||||
device_list = self.get_device_list()
|
||||
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)
|
||||
# device_id = self.request.GET.get('device_id')
|
||||
|
||||
# if device_id:
|
||||
# queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
||||
|
||||
return queryset_list
|
||||
queryset = queryset.filter(device_id__in=device_ids)
|
||||
last_day = self.request.GET.get('last_day')
|
||||
if last_day == '1':
|
||||
t = datetime.now().replace(tzinfo=pytz.timezone('UTC')) - timedelta(days=1)
|
||||
queryset = queryset.filter(last_time__gte=t).filter(last_time__minute=0)
|
||||
|
||||
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')
|
||||
temperature = 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='创建时间')
|
||||
|
||||
class Meta:
|
||||
|
|
Loading…
Reference in New Issue