Update value.py

feat(AttributeValueManager.create_or_update_attr_value()): AttributeValue update skip The same value
This commit is contained in:
lovvvve 2021-01-28 16:30:17 +08:00 committed by GitHub
parent e6d3c34f75
commit 889d9155bc
1 changed files with 6 additions and 5 deletions

View File

@ -160,12 +160,13 @@ class AttributeValueManager(object):
self._write_change(ci.id, attr.id, OperateType.ADD, None, value) self._write_change(ci.id, attr.id, OperateType.ADD, None, value)
else: else:
if not value and attr.value_type != ValueTypeEnum.TEXT: if existed_value != value:
existed_attr.delete() if value is not 0 and not value and attr.value_type != ValueTypeEnum.TEXT:
else: existed_attr.delete()
existed_attr.update(value=value) 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 @staticmethod
def delete_attr_value(attr_id, ci_id): def delete_attr_value(attr_id, ci_id):