# add log statistic history api

This commit is contained in:
xianfuxing 2018-08-13 21:29:45 +08:00
parent 4c22983f23
commit 63e1588c8c
4 changed files with 17 additions and 4 deletions

View File

@ -76,7 +76,7 @@ class LogHistorySerializer(serializers.ModelSerializer):
class Meta:
model = MosqPostStatistic
field = [
fields = [
'date',
'increment',
'date'
]

View File

@ -3,7 +3,8 @@ from .views import (
DeviceLogListAPIView,
DeviceInfoListAPIView,
DeviceLogStatisticAPIView,
DeviceInfoStatisticAPIView
DeviceInfoStatisticAPIView,
LogHistoryListAPIView
)
@ -12,5 +13,6 @@ urlpatterns = [
path('logs/', DeviceLogListAPIView.as_view(), name='logs'),
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/statistic/', DeviceInfoStatisticAPIView.as_view(), name='device-statistic'),
]

View File

@ -16,8 +16,10 @@ from mosquito.api.pagination import PostLimitOffsetPagination, PostPageNumberPag
from .serializers import (
DeviceCountSerializer,
DeviceInfoSerializer,
LogHistorySerializer,
)
from ..models import DeviceCount, DeviceInfo
from mosquito.models import MosqPostStatistic
class DeviceLogListAPIView(ListAPIView):
@ -79,3 +81,12 @@ class DeviceInfoStatisticAPIView(APIView):
offline_count = DeviceInfo.objects.filter(online=0).count()
data = {'online_count': online_count, 'offline_count': offline_count}
return Response(data)
class LogHistoryListAPIView(ListAPIView):
serializer_class = LogHistorySerializer
permission_classes = [IsAuthenticated]
filter_backends = [SearchFilter, OrderingFilter]
pagination_class = PostLimitOffsetPagination
search_fields = ['date']
queryset = MosqPostStatistic.objects.all().order_by('-date')

View File

@ -3,7 +3,7 @@ from rest_framework.pagination import LimitOffsetPagination, PageNumberPaginatio
class PostLimitOffsetPagination(LimitOffsetPagination):
max_limit = 20
default_limit = 10
default_limit = 7
class PostPageNumberPagination(PageNumberPagination):