我是想用sqlalchemy去数据库查询,然后将查询结果显示到前端网页上。
现在的问题是我会连未知的数据库,所以不知道具体表的结构,所以采用的是原始SQL语句的方法去查询,查询的结果会是如下所示的列表,里面每个元组为一行数据。但是里面是不包含表头,也就是字段名称的,这样的话展示到前端就没什么意义了, 我想要的效果是把表头和数据内容同时显示出来,形成一个表格的样式,就像下面图中的那样。
[(1, '258@qq.com', '$2b$12$qsBU/w9L9w9pXjTeigGjmuVyxh5BOYuNBzZWFxpbeoYQA19nFoEk2', 1, None), (2, 'admin@qq.com', 'admin', 1, None)]
首先使用一个变量接收你以上的查询结果。这个查询结果是一个list,在这个list中包含着一个或多个tuple,其实这并不是标准的Python tuple,而是一个特殊的类型"<class 'sqlalchemy.util._collections.result'>",这是一个 AbstractKeyedTuple 对象,它拥有一个 keys() 方法。我们可以通过这个方法将查询结果转换为字典,需要传到前端展示只需要将其装换为json格式即可。
示例:data = [dict(zip(result.keys(), result)) for result in results]