From ebfb96b12ece389b0f696236158b74a18364382d Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 29 Jul 2024 16:16:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20material=20delete=20=E6=97=B6=20update?= =?UTF-8?q?=20=E5=AD=90=E7=89=A9=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/mtm/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/mtm/views.py b/apps/mtm/views.py index 533db083..14fbd5ae 100644 --- a/apps/mtm/views.py +++ b/apps/mtm/views.py @@ -37,13 +37,15 @@ class MaterialViewSet(CustomModelViewSet): ordering_fields = ['name', 'model', 'specification', 'type', 'process', 'process__sort', 'sort', 'id', 'number'] + @transaction.atomic def perform_destroy(self, instance): from apps.inm.models import MaterialBatch if MaterialBatch.objects.filter(material=instance).exists(): raise ParseError('该物料有库存!') if Route.objects.filter(Q(material=instance) | Q(material_in=instance) | Q(material_out=instance)).exists(): raise ParseError('该物料有工艺路线!') - return super().perform_destroy(instance) + instance.delete() + Material.objects.filter(parent=instance).update(is_deleted=True) @action(methods=['post'], detail=False, serializer_class=Serializer, perms_map={'post': 'material.create'}) @transaction.atomic