fix:库存出入库记录mioitems创建时可以多选批次

This commit is contained in:
shijing 2026-06-17 16:06:27 +08:00
parent 652555ef01
commit e77c1ac820
1 changed files with 10 additions and 2 deletions

View File

@ -394,8 +394,16 @@ class MIOItemViewSet(CustomListModelMixin, BulkCreateModelMixin, BulkDestroyMode
return super().list(request, *args, **kwargs)
def perform_create(self, serializer):
serializer.validated_data["mio"] = MIOViewSet.lock_and_check_can_update(serializer.validated_data['mio'])
return super().perform_create(serializer)
if isinstance(serializer.validated_data, list):
mio_cache = {}
for item in serializer.validated_data:
mio = item['mio']
if mio.id not in mio_cache:
mio_cache[mio.id] = MIOViewSet.lock_and_check_can_update(mio)
item['mio'] = mio_cache[mio.id]
else:
serializer.validated_data["mio"] = MIOViewSet.lock_and_check_can_update(serializer.validated_data['mio'])
return super().perform_create(serializer)
def perform_destroy(self, instance):
MIOViewSet.lock_and_check_can_update(instance.mio)