django 数据库返回queryset实现封装为字典


Posted in Python onMay 19, 2020

默认情况下,Python DB API会返回不带字段的结果,这意味着你得到的是一个列表,而不是一个字典。花费一点性能代价之后,你可以返回一个字典形式的结果,像这样:

def dictfetchall(cursor):
 "Returns all rows from a cursor as a dict"
 desc = cursor.description
 return [
  dict(zip([col[0] for col in desc], row))
  for row in cursor.fetchall()
 ]

demo:

from django.db import connection
if __name__ == '__main__':
  """db=db_operate()
  sql='select DISTINCT t1.HostName,t2.IpAddress,t2.RegName,t2.AppUser,t2.`Desc` from machineinfo as t1,asset_appregioninfo as t2 where t1.IpAddress=t2.IpAddress;'
  result=db.mysql_command(settings.conn, sql)
  dic=dict(result)
  print dic
  """
  cur=connection.cursor()
  cur.execute('select DISTINCT t1.HostName,t2.IpAddress,t2.RegName,t2.AppUser,t2.`Desc` from machineinfo as t1,asset_appregioninfo as t2 where t1.IpAddress=t2.IpAddress;')
  dic=dictfetchall(cur)
  print dic

这样在前台,就可以通过

{%for i in dic%}
{i.字段}

生成列表了

补充知识:[django] queryset系列化3种方式model_to_dict、serializers

我就废话不多说了,大家还是直接看代码吧!

# 序列化方式1:
from django.forms.models import model_to_dict
import json
data=[]
for obj in book_list:
  data.append(model_to_dict(obj))
print(data)
return HttpResponse("ok")

# 序列化方式2:
data=serializers.serialize("json",book_list)
return HttpResponse(data)

# 序列化方式3:
bs=BookSerializers(book_list,many=True)
return Response(bs.data)

以上这篇django 数据库返回queryset实现封装为字典就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python编写爬虫小程序
May 14 Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 Python
详解常用查找数据结构及算法(Python实现)
Dec 09 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
Python简单读取json文件功能示例
Nov 30 Python
python字符串常用方法
Jun 14 Python
python内打印变量之%和f的实例
Feb 19 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
PyQt5如何将.ui文件转换为.py文件的实例代码
May 26 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
pycharm远程连接服务器并配置python interpreter的方法
Dec 23 Python
python爬取抖音视频的实例分析
Jan 19 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 #Python
python 数据分析实现长宽格式的转换
May 18 #Python
如何把外网python虚拟环境迁移到内网
May 18 #Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 #Python
pandas dataframe 中的explode函数用法详解
May 18 #Python
Python pandas 列转行操作详解(类似hive中explode方法)
May 18 #Python
Win 10下Anaconda虚拟环境的教程
May 18 #Python
You might like
PHP中实现Bloom Filter算法
2015/03/30 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
firefo xml 读写实现js代码
2009/06/11 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
2019/09/21 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
2020/11/09 Javascript
[51:32]Optic vs Serenity 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
python监控进程脚本
2018/04/12 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
2016/08/18 面试题
建筑施工员岗位职责
2013/11/26 职场文书
党课知识竞赛主持词
2014/04/01 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
学习优秀共产党员先进事迹思想报告
2014/09/17 职场文书
入党自荐书范文
2015/03/05 职场文书
保研推荐信范文
2015/03/25 职场文书
师范生见习自我总结
2015/06/23 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
python获取对象信息的实例详解
2021/07/07 Python
详解Oracle块修改跟踪功能
2021/11/07 Oracle