python 数据库结果转模型(2)
1、定义一个类,模拟模型数据,这里用金额(decimal)、和时间(datetime)两个字段举例 CURRENT_TIMESTAMP ***MySQL默认系统时间
class tModel(): def __init__(self,id,price,createtime): self.id = id self.price = price self.createtime = createtime
2、数据库请求返数据转换为模型,json 转class时对应时间 和金额特殊类型 不需要做特殊处理,class转json时统一处理
class tsql(SqlLink): def selectdata(self): re_data = [] conn, cur = self.ConnOpen() try: sql = "SELECT * FROM `t_2`" cur.execute(sql) data = cur.fetchall() # 多条数据 tuple 元组类型 () data = list(data) 转列表 # *****转换模型**** for item in list(data): m = tModel(item["id"],item["price"],item["createtime"]) re_data.append(m) # *****END**** return re_data except Exception as e: conn.rollback() # 回滚事务 语句执行失败 回滚 # 此处加日志 raise e.args finally: self.ConClose(conn, cur)
3、return返回结果 class 类型
[<__main__.tModel object at 0x0000024CABFEB5F8>,
<__main__.tModel object at 0x0000024CABFEB780>,
<__main__.tModel object at 0x0000024CABFEB7B8>,
<__main__.tModel object at 0x0000024CABFEB7F0>,
<__main__.tModel object at 0x0000024CABFEB828>,
<__main__.tModel object at 0x0000024CABFEB860>]