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>]

 

posted @ 2020-07-10 16:56  记不起的回忆  阅读(283)  评论(0)    收藏  举报