From 9c1ba20d36af16c94de15a077a0fdf9b5b30321b Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 23 May 2025 09:54:24 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96mlog=E5=92=8Chandover?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/filters.py | 8 ++++++-- apps/wpm/views.py | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index d0d2fb6a..32e3f8a7 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -111,7 +111,9 @@ class MlogFilter(filters.FilterSet): } def filter_cbatch(self, queryset, name, value): - return queryset.filter(Q(b_mlog__batch=value) | Q(batch=value)).distinct() + qs1 = queryset.filter(batch=value) + qs2 = queryset.filter(b_mlog__batch=value) + return qs1.union(qs2) class HandoverFilter(filters.FilterSet): @@ -126,7 +128,9 @@ class HandoverFilter(filters.FilterSet): return queryset.filter(send_dept__id=value)|queryset.filter(recive_dept__id=value) def filter_cbatch(self, queryset, name, value): - return queryset.filter(Q(b_handover__batch=value) | Q(batch=value)).distinct() + qs1 = queryset.filter(Q(batch=value)|Q(new_batch=value)) + qs2 = queryset.filter(Q(b_handover__batch=value)) + return qs1.union(qs2) class Meta: model = Handover diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 680d3d09..f8aa07d2 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -384,6 +384,7 @@ class HandoverViewSet(CustomModelViewSet): filterset_class = HandoverFilter search_fields = ['id', 'material__name', 'material__number', 'material__specification', 'batch', 'material__model', 'b_handover__batch', "new_batch"] + prefetch_related_fields = ["b_handover"] def perform_destroy(self, instance): user = self.request.user