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 简易计算器程序,代码就几行
Aug 29 Python
python集合用法实例分析
May 30 Python
python实现解数独程序代码
Apr 12 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
python使用锁访问共享变量实例解析
Feb 08 Python
Python二叉树定义与遍历方法实例分析
May 25 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
Python实现括号匹配方法详解
Feb 10 Python
Python importlib动态导入模块实现代码
Apr 16 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
77A一级收信机修理记
2021/03/02 无线电
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
用php+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
php操作MongoDB类实例
2015/06/17 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
javascript 节点遍历函数
2010/03/28 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
JavaScript进阶(一)变量声明提升实例分析
2020/05/09 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
Python实现转换图片背景颜色代码
2020/04/30 Python
python 实时调取摄像头的示例代码
2020/11/25 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
英国家庭和商业健身器材购物网站:Fitness Options
2018/07/05 全球购物
将"引用"作为函数参数有哪些特点
2013/04/05 面试题
新闻学毕业生自荐信
2013/11/15 职场文书
大学生自我鉴定
2013/12/16 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
开业庆典策划方案
2014/02/18 职场文书
2014年销售部工作总结
2014/12/01 职场文书
责任书格式
2015/01/29 职场文书
酒店厨房管理制度
2015/08/06 职场文书