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 相关文章推荐
在Linux中通过Python脚本访问mdb数据库的方法
May 06 Python
Django1.7+python 2.78+pycharm配置mysql数据库
Oct 09 Python
用pickle存储Python的原生对象方法
Apr 28 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python+Splinter实现12306抢票功能
Sep 25 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
Nov 20 Python
python实现宿舍管理系统
Nov 22 Python
Python连接mysql方法及常用参数
Sep 01 Python
Python运算符+与+=的方法实例
Feb 18 Python
Pytorch实现图像识别之数字识别(附详细注释)
May 11 Python
利用python调用摄像头的实例分析
Jun 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 STRING 陷阱原理说明
2010/07/24 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
8个必备的PHP功能开发
2015/10/02 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
2019/05/13 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
详解vue 组件注册
2020/11/20 Vue.js
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
将tensorflow模型打包成PB文件及PB文件读取方式
2020/01/23 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
金宝贝童装官网:Gymboree
2016/08/31 全球购物
百丽国际旗下购物网站:优购
2017/02/28 全球购物
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
J2EE中的容器都包括哪些
2013/08/21 面试题
新护士岗前培训制度
2014/02/02 职场文书
大学生评语大全
2014/04/18 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
大明湖导游词
2015/02/03 职场文书
Python爬取某拍短视频
2021/06/11 Python
Python实现数据的序列化操作详解
2022/07/07 Python