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