用sql执行query返回的是对象集没毛病,但是不太习惯使用query,还是倾向于采用execute执行sql语句的方式获得结果集,这样得到的结果是字典list,可以采用此函数转化为对象list
def dictToObj(results, to_class):
"""将字典list或者字典转化为指定类的对象list或指定类的对象
python 支持动态给对象添加属性,所以字典中存在而该类不存在的会直接添加到对应对象
"""
if isinstance(results, list):
objL = []
for result in results:
obj = to_class()
for r in result.keys():
obj.__setattr__(r, result[r])
objL.append(obj)
return objL
elif isinstance(results, dict):
obj = to_class()
for r in result.keys():
obj.__setattr__(r, result[r])
return obj
else:
print("传入对象非字典或者list")
return None