From 22ff47a6bac1f6665b9854d25971b5aaf17b936f Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 8 Jan 2025 12:17:59 +0800 Subject: [PATCH] feat: init_by_qct --- apps/qm/models.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/apps/qm/models.py b/apps/qm/models.py index 1f1939f0..0d547a28 100644 --- a/apps/qm/models.py +++ b/apps/qm/models.py @@ -5,6 +5,7 @@ from apps.mtm.models import Material, Shift from apps.em.models import Equipment from apps.wpm.models import SfLog, WMaterial from django.utils.translation import gettext_lazy as _ +from django.db import transaction class Defect(CommonAModel): # 缺陷项 @@ -261,6 +262,16 @@ class Ftest(CommonBDModel): def ftestdefects(self): return FtestDefect.objects.filter(ftest=self) + @classmethod + def init_by_qct(cls, qct, test_user, test_date): + with transaction.atomic(): + ftest = Ftest.objects.create(qct=qct, test_user=test_user, test_date=test_date) + for testitem in qct.testitems.all(): + FtestItem.objects.create(ftest=ftest, testitem=testitem) + for defect in qct.defects.all(): + FtestDefect.objects.create(ftest=ftest, defect=defect) + return ftest + class FtestItem(BaseModel): """