diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index 6044c34a..c6237732 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -225,6 +225,7 @@ class BatchStFilter(filters.FilterSet): class MlogbwFilter(filters.FilterSet): + type = filters.CharFilter(label="in/out", method='filter_type') class Meta: model = Mlogbw fields = { @@ -236,4 +237,13 @@ class MlogbwFilter(filters.FilterSet): "ftest": ["isnull"], "ftest__is_ok": ["exact"], "ftest__defect_main": ["exact"] - } \ No newline at end of file + } + + def filter_type(self, queryset, name, value): + if value: + if value == 'in': + return queryset.filter(mlogb__material_in__isnull=False) + elif value == 'out': + return queryset.filter(mlogb__material_out__isnull=False) + return queryset + return queryset.none() \ No newline at end of file