From 8e578797efe38f99ad59c35cd967ab329a723a92 Mon Sep 17 00:00:00 2001 From: x-7 Date: Wed, 21 Apr 2021 19:17:05 +0800 Subject: [PATCH] Update ci.py cmdb-api:add attr check in ci_manager update method --- cmdb-api/api/lib/cmdb/ci.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmdb-api/api/lib/cmdb/ci.py b/cmdb-api/api/lib/cmdb/ci.py index ad84126..09005e0 100644 --- a/cmdb-api/api/lib/cmdb/ci.py +++ b/cmdb-api/api/lib/cmdb/ci.py @@ -206,9 +206,13 @@ class CIManager(object): def update(self, ci_id, **ci_dict): ci = self.confirm_ci_existed(ci_id) - + + ci_type_attrs_name = [attr["name"] for attr in CITypeAttributeManager().get_attributes_by_type_id(ci.type_id)] value_manager = AttributeValueManager() for p, v in ci_dict.items(): + if p not in ci_type_attrs_name: + current_app.logger.warning('ci_type: {0} not has attribute {1}, please check!'.format(ci.type_id, p)) + continue try: value_manager.create_or_update_attr_value(p, v, ci) except BadRequest as e: