def merge_objs(*objs, ex=[], suffix=None): """ 合并对象 :param objs: :param ex: 排除掉的字段 :param suffix: 如果有重复字段则加这个作为后缀 :return: """ r = BaseObj() for obj in objs: for k, v in vars(obj).items(): if not hasattr(r, k): setattr(r, k, v) elif k in ex: continue elif suffix: setattr(r, k + str(suffix), v) return r
def convert_to_normal_obj(self, obj, is_convert_camel=False): """ 将pw对象转换成普通对象 :param obj: :param is_convert_camel: 是否要转换成驼峰 :return: """ # class IterItems(BaseObj): # def __init__(self, **kwargs): # super(IterItems, self).__init__(**kwargs) # # def __iter__(self): # return self new_obj = BaseObj() for k, v in obj.__data__.items(): # if k == 'order': # k = k + '_id' if is_convert_camel: k = str_convert_to_camel(k, "_") setattr(new_obj, k, v) return new_obj
def to_obj(j): try: return BaseObj(**j) except Exception as e: return j