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 21 Python
Python自定义主从分布式架构实例分析
Sep 19 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
python读取csv文件并把文件放入一个list中的实例讲解
Apr 27 Python
python的concat等多种用法详解
Nov 28 Python
利用Django模版生成树状结构实例代码
May 19 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
适合Python初学者的一些编程技巧
Feb 12 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 Python
Python如何解除一个装饰器
Aug 07 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 stripos()函数及注意事项的分析
2013/06/08 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
jquery中交替点击事件toggle方法的使用示例
2013/12/08 Javascript
js window.onload 加载多个函数和追加函数详解
2014/01/08 Javascript
表单提交前触发函数返回true表单才会提交
2014/03/11 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
基于原生JS实现图片裁剪
2016/08/01 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
JQuery EasyUI 结合ztrIee的后台页面开发实例
2017/09/01 jQuery
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
pytorch 数据集图片显示方法
2018/07/26 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
Python gevent协程切换实现详解
2020/09/14 Python
Python3利用openpyxl读写Excel文件的方法实例
2021/02/03 Python
英国名牌男装店:Standout
2021/02/17 全球购物
工程班组长岗位职责
2013/12/30 职场文书
小学数学国培感言
2014/03/10 职场文书
初三班主任寄语大全
2014/04/04 职场文书
新党章心得体会
2014/09/04 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
25张裸眼3D图片,带你重温童年的记忆,感受3D的魅力
2022/02/06 杂记