From 889d9155bc187e0e86d98cb6e433de4f29544689 Mon Sep 17 00:00:00 2001 From: lovvvve Date: Thu, 28 Jan 2021 16:30:17 +0800 Subject: [PATCH] Update value.py feat(AttributeValueManager.create_or_update_attr_value()): AttributeValue update skip The same value --- cmdb-api/api/lib/cmdb/value.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cmdb-api/api/lib/cmdb/value.py b/cmdb-api/api/lib/cmdb/value.py index 2b53a22..967a2fc 100644 --- a/cmdb-api/api/lib/cmdb/value.py +++ b/cmdb-api/api/lib/cmdb/value.py @@ -160,12 +160,13 @@ class AttributeValueManager(object): self._write_change(ci.id, attr.id, OperateType.ADD, None, value) else: - if not value and attr.value_type != ValueTypeEnum.TEXT: - existed_attr.delete() - else: - existed_attr.update(value=value) + if existed_value != value: + if value is not 0 and not value and attr.value_type != ValueTypeEnum.TEXT: + existed_attr.delete() + else: + existed_attr.update(value=value) - self._write_change(ci.id, attr.id, OperateType.UPDATE, existed_value, value) + AttributeValueManager._write_change(ci.id, attr.id, OperateType.UPDATE, existed_value, value) @staticmethod def delete_attr_value(attr_id, ci_id):