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)