From ed18cb317f754432439d48823d91138315863ea3 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 15 May 2018 15:05:49 +0800 Subject: [PATCH] =?UTF-8?q?[Bugfix]=20=E4=BF=AE=E5=A4=8D=E5=88=9B=E5=BB=BA?= =?UTF-8?q?node=20api=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/assets/serializers/node.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/apps/assets/serializers/node.py b/apps/assets/serializers/node.py index bee350591..b191b0a4f 100644 --- a/apps/assets/serializers/node.py +++ b/apps/assets/serializers/node.py @@ -53,14 +53,13 @@ class NodeSerializer(serializers.ModelSerializer): def validate(self, data): value = data.get('value') - instance = self.instance - if not instance.is_root(): - children = instance.parent.get_children().exclude(key=instance.key) - values = [child.value for child in children] - if value in values: - raise serializers.ValidationError( - 'The same level node name cannot be the same' - ) + instance = self.instance if self.instance else Node.root() + children = instance.parent.get_children().exclude(key=instance.key) + values = [child.value for child in children] + if value in values: + raise serializers.ValidationError( + 'The same level node name cannot be the same' + ) return data @staticmethod