1
0
forked from erp-dev/erp

feat: added product image to printing jobs api

This commit is contained in:
2026-01-05 19:56:35 +08:00
parent 970bbcc070
commit 715b5ed4eb
2 changed files with 55 additions and 0 deletions

View File

@@ -256,6 +256,7 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
"""印染款式明细列表序列化器"""
printing_order_id = serializers.CharField(source='printing_order.human_id', read_only=True)
product_name = serializers.CharField(source='product.name', read_only=True)
product_image_url = serializers.SerializerMethodField()
status = serializers.CharField(read_only=True)
work_state_display = serializers.SerializerMethodField()
is_completed = serializers.BooleanField(read_only=True)
@@ -266,6 +267,7 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
model = models.PrintingJob
fields = [
'id', 'original_id', 'printing_order', 'printing_order_id', 'product', 'product_name',
'product_image_url',
'quantity', 'unit', 'size', 'pieces', 'description',
'work_state', 'work_state_display',
'status', 'is_completed', 'business_object_id',
@@ -278,6 +280,12 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
"""安全地获取 business_object_id"""
return obj.business_object.id if obj.business_object else None
def get_product_image_url(self, obj):
"""获取产品图片 URL优先 mdy_image_url其次从 description 提取)"""
if obj.product:
return obj.product.get_primary_image_url()
return None
def get_work_state_display(self, obj):
return obj.get_work_state_display()