diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index d649b0d3..ca2631ba 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -154,10 +154,16 @@ class MlogFilter(filters.FilterSet): class HandoverFilter(filters.FilterSet): cbatch = filters.CharFilter(label='批次号', method='filter_cbatch') mgroup = filters.CharFilter(label='MgroupId', method='filter_mgroup') + mgroupx = filters.CharFilter(label='MgroupId', method='filter_mgroupx') dept = filters.CharFilter(label='DeptId', method='filter_dept') def filter_mgroup(self, queryset, name, value): return queryset.filter(send_mgroup__id=value)|queryset.filter(recive_mgroup__id=value) + + def filter_mgroupx(self, queryset, name, value): + dept = Mgroup.objects.get(id=value).belong_dept + return (queryset.filter(send_mgroup__id=value)|queryset.filter(recive_mgroup__id=value)| + queryset.filter(send_dept=dept, send_mgroup__isnull=True)|queryset.filter(recive_dept=dept, recive_mgroup__isnull=True)) def filter_dept(self, queryset, name, value): return queryset.filter(send_dept__id=value)|queryset.filter(recive_dept__id=value)