django执行原生的sql语句一般返回元祖,这对于我们使用还是有一定不方便的,所以我们可以对返回数据进行封装字典,可以通过键取数据这样方便我们理解查询返回数据,下面直接上代码
# -*- coding: utf-8 -*-
from django.db import connection
def queryDict(sql, params=None):
'''
查询结果返回字典类型数据
:param sql:
:param params:
:return:
'''
with connection.cursor() as cursor:
cursor.execute(sql, params=params)
col_names = [desc[0] for desc in cursor.description]
row = cursor.fetchall()
rowList = []
for list in row:
tMap = dict(zip(col_names, list))
rowList.append(tMap)
return rowList