From 348464598e50a8a7ef123b669a1345b625404ecb Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 9 Jan 2025 12:28:55 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9AMlogbwCreateUpdateSerializer=20bug3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/qm/serializers.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/qm/serializers.py b/apps/qm/serializers.py index a7cc4b79..5cd71303 100644 --- a/apps/qm/serializers.py +++ b/apps/qm/serializers.py @@ -300,18 +300,18 @@ class FtestProcessSerializer(CustomModelSerializer): with transaction.atomic(): instance = super().update(instance, validated_data) for item in ftestitems: - ins, is_create = FtestItem.objects.get_or_create( - testitem = item["testitem"], ftest=instance, defaults=item) - if is_create: + try: + ins = FtestItem.objects.get(testitem = item["testitem"], ftest=instance) + except FtestItem.DoesNotExist: raise ParseError("新的检测项!") for k, v in item.items(): setattr(ins, k, v) ins.save() is_ok = True for item2 in ftestdefects: - ins, is_create = FtestDefect.objects.get_or_create( - ftest=instance, defect=item2["defect"], defaults=item2) - if is_create: + try: + ins = FtestDefect.objects.get(ftest=instance, defect=item2["defect"]) + except FtestDefect.DoesNotExist: raise ParseError("新的缺陷项!") for k, v in item2.items(): setattr(ins, k, v)