From 5ed3b7c483cbab0966c8cfd2122ca07b246e5548 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 20 Nov 2025 12:27:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mioitemw=E5=A2=9E=E5=8A=A0=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/inm/views.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/inm/views.py b/apps/inm/views.py index 56159b1f..b4f7667f 100644 --- a/apps/inm/views.py +++ b/apps/inm/views.py @@ -482,13 +482,25 @@ class MIOItemwViewSet(CustomModelViewSet): perms_map = {'get': '*', 'post': 'mio.update', 'put': 'mio.update', 'delete': 'mio.update'} queryset = MIOItemw.objects.all() serializer_class = MIOItemwCreateUpdateSerializer - filterset_fields = ['mioitem', 'wpr'] + filterset_fields = { + 'mioitem': ['exact'], + 'mioitem__material__type': ['exact'], + "wpr": ['exact'], + "number": ["exact"], + "ftest": ["isnull"], + "mioitem__mio__state": ["exact"] + } + select_related_fields = ["ftest"] ordering = ["number", "create_time"] ordering_fields = ["number", "create_time"] def filter_queryset(self, queryset): - if not self.detail and not self.request.query_params.get('mioitem', None): - raise ParseError('请指定所属出入库记录明细') + if not self.detail: + if not self.request.query_params.get('mioitem', None): + if "ftest__isnull" in self.request.query_params: + pass + else: + raise ParseError('请指定所属出入库记录明细') return super().filter_queryset(queryset) def cal_mioitem_count(self, mioitem:MIOItem):