diff --git a/apps/qm/filters.py b/apps/qm/filters.py index 1c485f0e..24136c2f 100644 --- a/apps/qm/filters.py +++ b/apps/qm/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from apps.qm.models import QuaStat, TestItem +from apps.qm.models import QuaStat, TestItem, FtestWork class QuaStatFilter(filters.FilterSet): @@ -22,3 +22,13 @@ class TestItemFilter(filters.FilterSet): class Meta: model = TestItem fields = ['tags__contains', 'mcate_tags__contains'] + + +class FtestWorkFilter(filters.FilterSet): + class Meta: + model = FtestWork + fields = { + "material__process__name": ["exact", "contains"], + "material": ["exact"], + "batch": ["exact"], + } \ No newline at end of file diff --git a/apps/qm/views.py b/apps/qm/views.py index 682fd92d..a6c5d2c5 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -14,7 +14,7 @@ import datetime from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.wpm.models import SfLog -from apps.qm.filters import QuaStatFilter, TestItemFilter +from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter from django.db import transaction from apps.qm.models import NotOkOption from apps.qm.services import ftestwork_submit @@ -126,7 +126,7 @@ class FtestWorkViewSet(CustomModelViewSet): create_serializer_class = FtestWorkCreateUpdateSerializer update_serializer_class = FtestWorkCreateUpdateSerializer select_related_fields = ['material'] - filterset_fields = ['material', 'batch'] + filterset_class = FtestWorkFilter def update(self, request, *args, **kwargs): ins:FtestWork = self.get_object()