diff --git a/apps/assets/api/tree.py b/apps/assets/api/tree.py index f5e39b4db..32f6aed27 100644 --- a/apps/assets/api/tree.py +++ b/apps/assets/api/tree.py @@ -39,16 +39,16 @@ class NodeChildrenApi(generics.ListCreateAPIView): self.instance = self.get_object() def perform_create(self, serializer): + data = serializer.validated_data + _id = data.get("id") + value = data.get("value") + if value: + children = self.instance.get_children() + if children.filter(value=value).exists(): + raise JMSException(_('The same level node name cannot be the same')) + else: + value = self.instance.get_next_child_preset_name() with NodeAddChildrenLock(self.instance): - data = serializer.validated_data - _id = data.get("id") - value = data.get("value") - if value: - children = self.instance.get_children() - if children.filter(value=value).exists(): - raise JMSException(_('The same level node name cannot be the same')) - else: - value = self.instance.get_next_child_preset_name() node = self.instance.create_child(value=value, _id=_id) # 避免查询 full value node._full_value = node.value