From ae88be28ed874025fa941c5939d6dd793350730d Mon Sep 17 00:00:00 2001 From: colaftc Date: Mon, 12 Jan 2026 13:54:25 +0800 Subject: [PATCH] fix --- api_v1/views/printing/serializers.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/api_v1/views/printing/serializers.py b/api_v1/views/printing/serializers.py index d07da7a..84fa519 100644 --- a/api_v1/views/printing/serializers.py +++ b/api_v1/views/printing/serializers.py @@ -187,8 +187,10 @@ class PrintingOrderListSerializer(serializers.ModelSerializer): 返回订单下所有 PrintingJob 按最后完成状态分组的数量汇总 返回格式: [{"state_name": "进度一", "count": 3}, ...] - - state_name: 最后完成的状态名称(未开始时为空字符串) + - state_name: 最后完成的状态名称 - count: 该状态下的 job 数量 + + 注意: 未开始的 job(没有完成任何状态)不计入统计 """ # 使用预取的 printing_jobs(避免 N+1) jobs = getattr(obj, '_prefetched_objects_cache', {}).get('printing_jobs') or obj.printing_jobs.all() @@ -199,7 +201,9 @@ class PrintingOrderListSerializer(serializers.ModelSerializer): for job in jobs: # 获取 job 的最后完成状态名称 last_completed = job.last_completed_state # 调用 @property,未开始时返回空字符串 - status_counter[last_completed] += 1 + # 只统计有已完成状态的 job + if last_completed: + status_counter[last_completed] += 1 # 转换为列表格式 return [