diff --git a/apps/wpm/filters.py b/apps/wpm/filters.py index c9c84cbb..a8dc6aa1 100644 --- a/apps/wpm/filters.py +++ b/apps/wpm/filters.py @@ -60,6 +60,6 @@ class MlogFilter(filters.FilterSet): "handle_date": ["exact"], "handle_user": ["exact"], "mtask__mgroup__belong_dept__name": ["exact"], - "mgroup__belong_dept__name": ["exact"], + "mgroup__belong_dept__name": ["exact", "in"], "submit_time": ["isnull"] } diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 5b5ee730..dbf16eb4 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -5,6 +5,7 @@ from rest_framework.exceptions import ValidationError from .models import SfLog, StLog, SfLogExp, WMaterial, Mlog, Handover, Mlogb from apps.system.models import Dept, User +from apps.system.serializers import UserSimpleSerializer from apps.pm.models import Mtask from apps.wpm.tasks import cal_enstat_when_pcoal_heat_change, cal_enstat_when_team_change from apps.mtm.serializers import MaterialSimpleSerializer @@ -113,6 +114,8 @@ class MlogSerializer(CustomModelSerializer): shift_name = serializers.CharField(source='shift.name', read_only=True) material_outs_ = MlogbSerializer( label='多产出件信息', many=True, source='material_outs') + handle_users_ = UserSimpleSerializer( + source='handle_users', many=True, read_only=True) class Meta: model = Mlog diff --git a/apps/wpm/views.py b/apps/wpm/views.py index ead878c0..67438d3d 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -123,6 +123,7 @@ class MlogViewSet(CustomModelViewSet): serializer_class = MlogSerializer select_related_fields = ['create_by', 'update_by', 'mtask', 'handle_user', 'handle_user_2', 'equipment', 'equipment_2'] + prefetch_related_fields = ['handle_users', 'material_outs'] filterset_class = MlogFilter def perform_destroy(self, instance):