diff --git a/api_v1/views/printing/serializers.py b/api_v1/views/printing/serializers.py index 705c5f7..e27c305 100644 --- a/api_v1/views/printing/serializers.py +++ b/api_v1/views/printing/serializers.py @@ -138,6 +138,8 @@ class PrintingOrderListSerializer(serializers.ModelSerializer): process_name = serializers.CharField(source='process.name', read_only=True) progress = serializers.IntegerField(read_only=True) jobs_status_summary = serializers.SerializerMethodField() + created_by = serializers.IntegerField(source='created_by_id', read_only=True) + created_by_name = serializers.SerializerMethodField() class Meta: model = models.PrintingOrder @@ -147,6 +149,7 @@ class PrintingOrderListSerializer(serializers.ModelSerializer): 'is_fabric_received', 'outgoing_date', 'is_invalid', 'new_curve', 'process', 'process_name', 'progress', 'position', 'print_count', 'jobs_status_summary', + 'created_by', 'created_by_name', 'created_at', 'updated_at', ] read_only_fields = ['id', 'human_id', 'created_at', 'updated_at', 'progress', 'print_count'] @@ -178,6 +181,14 @@ class PrintingOrderListSerializer(serializers.ModelSerializer): for (name, sid), count in status_counter.items() ] + def get_created_by_name(self, obj): + """获取创建人名称(员工姓名)""" + user = getattr(obj, 'created_by', None) + if not user: + return None + emp = getattr(user, 'employee', None) + return getattr(emp, 'name', None) + class PrintingOrderDetailSerializer(serializers.ModelSerializer): """印染订单详情序列化器"""