diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index c9d13fa..d3be1ed 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -76,7 +76,7 @@ class LogHistorySerializer(serializers.ModelSerializer): class Meta: model = MosqPostStatistic - field = [ + fields = [ + 'date', 'increment', - 'date' ] \ No newline at end of file diff --git a/apps/counter/api/urls.py b/apps/counter/api/urls.py index 2c5162e..6b178ff 100644 --- a/apps/counter/api/urls.py +++ b/apps/counter/api/urls.py @@ -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'), ] \ No newline at end of file diff --git a/apps/counter/api/views.py b/apps/counter/api/views.py index 029a246..b12c66b 100644 --- a/apps/counter/api/views.py +++ b/apps/counter/api/views.py @@ -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') diff --git a/apps/mosquito/api/pagination.py b/apps/mosquito/api/pagination.py index 933d3a2..c21a081 100644 --- a/apps/mosquito/api/pagination.py +++ b/apps/mosquito/api/pagination.py @@ -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):