diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index 260bd6ad..aacabe61 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, StLog, WMaterial, Mlog, +from apps.wpm.models import (SfLog, StLog, WMaterial, Mlog, Mlogbw, Handover, Mgroup, Mlogb, Mtask, BatchSt) from apps.mtm.models import Route from django.db.models import Q @@ -197,4 +197,18 @@ class BatchStFilter(filters.FilterSet): query = Q() for value in v_list: query |= Q(batch__startswith=value) - return queryset.filter(query) \ No newline at end of file + return queryset.filter(query) + + +class MlogbwFilter(filters.FilterSet): + class Meta: + model = Mlogbw + fields = { + "mlogb": ["exact"], + "mlogb__mlog__mgroup": ["exact"], + "mlogb__mlog__submit_time": ["isnull"], + "wpr": ["exact"], + "ftest": ["isnull"], + "ftest__is_ok": ["exact"], + "ftest__defect_main": ["exact"] + } \ No newline at end of file diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 34aa7ce0..7fd67970 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -14,7 +14,7 @@ from apps.mtm.models import Material, Process, Route, Mgroup, RoutePack from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.mixins import CustomListModelMixin, BulkCreateModelMixin, BulkDestroyModelMixin -from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter +from .filters import StLogFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter, MlogbFilter, BatchStFilter, MlogbwFilter from .models import (SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb, Mlogbw, AttLog, OtherLog, Fmlog, BatchSt, MlogbDefect, MlogUser, BatchLog) from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, @@ -748,7 +748,7 @@ class MlogbwViewSet(CustomModelViewSet): perms_map = {"get": "*", "post": "mlog.update", "put": "mlog.update", "delete": "mlog.update"} queryset = Mlogbw.objects.all() serializer_class = MlogbwCreateUpdateSerializer - filterset_fields = ['mlogb'] + filterset_class = MlogbwFilter ordering = ["number", "create_time"] ordering_fields = ["number", "create_time"]