From 10d73333ec18a6ced643a4850a1f294f662fbfec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Wed, 14 Sep 2022 15:34:27 +0800 Subject: [PATCH] drf log filter class --- apps/monitor/filters.py | 7 +++++++ apps/monitor/views.py | 2 ++ 2 files changed, 9 insertions(+) create mode 100644 apps/monitor/filters.py diff --git a/apps/monitor/filters.py b/apps/monitor/filters.py new file mode 100644 index 00000000..1f1756d9 --- /dev/null +++ b/apps/monitor/filters.py @@ -0,0 +1,7 @@ +from django_filters import rest_framework as filters + + +class DrfLogFilterSet(filters.FilterSet): + start_request = filters.DateTimeFilter(field_name="requested_at", lookup_expr='gte') + end_request = filters.DateTimeFilter(field_name="requested_at", lookup_expr='lte') + id = filters.CharFilter() diff --git a/apps/monitor/views.py b/apps/monitor/views.py index 490c3569..fd7c6204 100755 --- a/apps/monitor/views.py +++ b/apps/monitor/views.py @@ -11,6 +11,7 @@ from drf_yasg import openapi from drf_yasg.utils import swagger_auto_schema from rest_framework.exceptions import NotFound from rest_framework.mixins import ListModelMixin +from apps.monitor.filters import DrfLogFilterSet from apps.monitor.models import DrfRequestLog from apps.monitor.errors import LOG_NOT_FONED @@ -141,3 +142,4 @@ class DrfRequestLogViewSet(ListModelMixin, CustomGenericViewSet): queryset = DrfRequestLog.objects.all() list_serializer_class = DrfRequestLogSerializer ordering = ['-requested_at'] + filterset_class = DrfLogFilterSet