diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 6cf17101..7af96c82 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -494,7 +494,11 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust qs = Mlogb.objects.none() if ins.mlogb_to: qs = qs|Mlogb.objects.filter(id=ins.mlogb_to.id) - if ins.mtask: + ftestIds = list(Ftest.objects.filter(mlogbw_ftest__mlogb__in=qs).values_list('id', flat=True)) + qs.delete() + if ftestIds: + Ftest.objects.filter(id__in=ftestIds).delete() + elif ins.mtask: query_dict = {"material_out__isnull": False, "mlog": ins.mlog, "mtask": ins.mtask} route = ins.mtask.route if route.batch_bind: @@ -503,8 +507,9 @@ class MlogbInViewSet(CreateModelMixin, UpdateModelMixin, DestroyModelMixin, Cust # 需要删除子集ftest记录 ftestIds = list(Ftest.objects.filter(mlogbw_ftest__mlogb__in=qs).values_list('id', flat=True)) qs.delete() - Ftest.objects.filter(id__in=ftestIds).delete() - instance.delete() + if ftestIds: + Ftest.objects.filter(id__in=ftestIds).delete() + ins.delete() @transaction.atomic def perform_create(self, serializer):