# 添加设备日志统计历史
This commit is contained in:
parent
f908676d9b
commit
8993ec8edc
|
@ -4,7 +4,7 @@ from datetime import datetime, time
|
|||
from django.db.models import Sum
|
||||
from rest_framework import serializers
|
||||
from counter.models import DeviceCount, DeviceInfo
|
||||
from mosquito.models import MosqPostStatistic
|
||||
from mosquito.models import MosqPostStatistic, DevicePostStatistic
|
||||
|
||||
|
||||
class DeviceCountSerializer(serializers.ModelSerializer):
|
||||
|
@ -93,7 +93,6 @@ class DeviceInfoSerializer(serializers.ModelSerializer):
|
|||
return [q.longitude, q.latitude]
|
||||
return None
|
||||
|
||||
|
||||
def get_time(self, obj):
|
||||
if self.latest:
|
||||
return self.latest.data_time.strftime('%Y-%m-%d %H:%M:%S')
|
||||
|
@ -108,4 +107,15 @@ class LogHistorySerializer(serializers.ModelSerializer):
|
|||
'date',
|
||||
'total',
|
||||
'increment',
|
||||
]
|
||||
]
|
||||
|
||||
|
||||
class DeviceLogHistorySerializer(serializers.ModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = DevicePostStatistic
|
||||
fields = [
|
||||
'device_id',
|
||||
'total',
|
||||
'date'
|
||||
]
|
||||
|
|
|
@ -4,7 +4,8 @@ from .views import (
|
|||
DeviceInfoListAPIView,
|
||||
DeviceLogStatisticAPIView,
|
||||
DeviceInfoStatisticAPIView,
|
||||
LogHistoryListAPIView
|
||||
LogHistoryListAPIView,
|
||||
DeviceLogHistoryListAPIView
|
||||
)
|
||||
|
||||
|
||||
|
@ -14,5 +15,6 @@ urlpatterns = [
|
|||
path('device/', DeviceInfoListAPIView.as_view(), name='device'),
|
||||
path('logs/statistic/', DeviceLogStatisticAPIView.as_view(), name='logs-statistic'),
|
||||
path('logs/statistic/history/', LogHistoryListAPIView.as_view(), name='logs-statistic-history'),
|
||||
path('device/logs/history/', DeviceLogHistoryListAPIView.as_view(), name='device-logs-history'),
|
||||
path('device/statistic/', DeviceInfoStatisticAPIView.as_view(), name='device-statistic'),
|
||||
]
|
|
@ -17,9 +17,10 @@ from .serializers import (
|
|||
DeviceCountSerializer,
|
||||
DeviceInfoSerializer,
|
||||
LogHistorySerializer,
|
||||
DeviceLogHistorySerializer,
|
||||
)
|
||||
from ..models import DeviceCount, DeviceInfo
|
||||
from mosquito.models import MosqPostStatistic
|
||||
from mosquito.models import MosqPostStatistic, DevicePostStatistic
|
||||
|
||||
|
||||
class DeviceLogListAPIView(ListAPIView):
|
||||
|
@ -107,3 +108,18 @@ class LogHistoryListAPIView(ListAPIView):
|
|||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['date']
|
||||
queryset = MosqPostStatistic.objects.all().order_by('-date')
|
||||
|
||||
|
||||
class DeviceLogHistoryListAPIView(ListAPIView):
|
||||
serializer_class = DeviceLogHistorySerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
filter_backends = [SearchFilter, OrderingFilter]
|
||||
pagination_class = PostLimitOffsetPagination
|
||||
search_fields = ['device_id', 'date']
|
||||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
queryset_list = DevicePostStatistic.objects.get_queryset().order_by('-date')
|
||||
device_id = self.request.GET.get('device_id')
|
||||
if device_id:
|
||||
queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
||||
return queryset_list
|
||||
|
|
Loading…
Reference in New Issue