cur.description 获取表结构,如:
第一个元素为字段名
(
('ip', 253, None, 50, 50, 0, True),
)
def fetchall(self, sql, params=None):
res = self.execute(sql, params)
if not res:
logs.info("查询失败")
return False
results = self.cur.fetchall()
# 获取表结构 self.cur.description , 然后取每个的第一个元素field[0]
# field 第一个元素为字段名
fields = [field[0] for field in self.cur.description]
# 序列化 成字典 zip 把两个可迭代对象合并成2维元组。然后用dict 转化为字典。
res = [dict(zip(fields, result)) for result in results]
logs.info(f"查询成功, 条数: {len(results)}" )
return res
网友评论