From 3c891ec313ceb216be7c503724807198e92e06d3 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Thu, 9 Feb 2023 20:11:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=9B=A0=E4=BA=8B?= =?UTF-8?q?=E5=8A=A1=E6=8F=90=E4=BA=A4=E9=97=AE=E9=A2=98=E9=80=A0=E6=88=90?= =?UTF-8?q?=E7=9A=84=E4=BB=BB=E5=8A=A1=E6=97=A0=E6=B3=95=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=92=8C=E4=BB=BB=E5=8A=A1=E5=8E=86=E5=8F=B2=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=20(#9493)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Aaron3S --- apps/ops/api/job.py | 2 ++ apps/ops/models/job.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/apps/ops/api/job.py b/apps/ops/api/job.py index 3d1cf255c..0beaff278 100644 --- a/apps/ops/api/job.py +++ b/apps/ops/api/job.py @@ -1,4 +1,5 @@ from django.db.models import Count +from django.db.transaction import atomic from rest_framework.views import APIView from django.shortcuts import get_object_or_404 from rest_framework.response import Response @@ -66,6 +67,7 @@ class JobExecutionViewSet(OrgBulkModelViewSet): model = JobExecution search_fields = ('material',) + @atomic def perform_create(self, serializer): instance = serializer.save() instance.job_version = instance.job.version diff --git a/apps/ops/models/job.py b/apps/ops/models/job.py index dd248e83d..529e1adda 100644 --- a/apps/ops/models/job.py +++ b/apps/ops/models/job.py @@ -235,6 +235,8 @@ class JobExecution(JMSOrgBaseModel): @property def time_cost(self): + if not self.date_start: + return 0 if self.is_finished: return (self.date_finished - self.date_start).total_seconds() return (timezone.now() - self.date_start).total_seconds()