[Bugfix] 资产树节点,取消model value unique,并添加唯一性校验,修改新增节点计数器规则

This commit is contained in:
BaiJiangjie
2018-05-10 20:48:16 +08:00
parent 3af01d6a31
commit 2583c0b26c
7 changed files with 50 additions and 20 deletions

View File

@@ -51,6 +51,15 @@ class NodeSerializer(serializers.ModelSerializer):
fields = ['id', 'key', 'value', 'parent', 'assets_amount', 'is_node']
list_serializer_class = BulkListSerializer
def update(self, instance, validated_data):
value = validated_data.get('value')
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 AssertionError('The same level node name cannot be the same')
return super().update(instance, validated_data)
@staticmethod
def get_parent(obj):
return obj.parent.id