From 3cbc6e3fefa92e06d19711658a17d16f8b8e7331 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 25 Oct 2023 10:42:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0mlog=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/filters.py | 14 +++++++++++++- apps/wpm/views.py | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index 40fd641a..ff31b835 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from apps.wpm.models import SfLog, SfLogExp, WMaterial +from apps.wpm.models import SfLog, SfLogExp, WMaterial, Mlog ['mgroup', 'shift', 'team', 'leader', 'team__belong_dept'] @@ -49,3 +49,15 @@ class WMaterialFilter(filters.FilterSet): "batch": ["exact"], "count": ["gte", "lte", "exact"] } + + +class MlogFilter(filters.FilterSet): + class Meta: + model = Mlog + fields = { + "mtask": ["exact", "in"], + "batch": ["exact"], + "handle_date": ["exact"], + "handle_user": ["exact"], + "mtask__mgroup__belong_dept__name": ["exact"] + } diff --git a/apps/wpm/views.py b/apps/wpm/views.py index d6a86165..a17a7b5c 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -10,7 +10,7 @@ from apps.pm.models import Mtask from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.mixins import BulkCreateModelMixin -from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter +from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter, MlogFilter from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog from .serializers import SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer @@ -121,7 +121,7 @@ class MlogViewSet(CustomModelViewSet): queryset = Mlog.objects.all() serializer_class = MlogSerializer select_related_fields = ['create_by', 'update_by', 'mtask'] - filterset_fields = ['mtask', 'handle_user'] + filterset_class = MlogFilter def perform_destroy(self, instance): if instance.mtask.state == Mtask.MTASK_DONE: