django执行数据库查询之后实现返回的结果集转json


Posted in Python onMarch 31, 2020

django执行sql语句后得到的返回结果是一个结果集,直接把结果转json返回给前端会报错,需要先遍历转字典在转json,特别注意model_to_dict()只会将结果集的第一条数据转字典,如果你是根据指定条件查一条数据返回的,直接用model_to_dict()没问题,如果执行的是all()或filter()到多条或全部的数据,这个时候去model_to_dict()这个集合就不行了,那么先遍历这个集合在转字典,然后转json就ok了

dic = {}
res = models.tables.objects.all().order_by('-id')
L = []
b = model_to_dict(res)
L.append(b)
dic['code'] = '1'
dic['message'] = ''
dic['result'] = L
return HttpResponse(json.dumps(dic, ensure_ascii=False))

order_by('-id'):是将结果集根据ID倒序排序

补充知识:django执行sql根据字段显示对应的数据方式

L = []
cursor.execute(sql)
desc = cursor.description # 获取字段的描述,默认获取数据库字段名称
data_dict = [dict(zip([col[0] for col in desc], row)) for row in
       cursor.fetchall()] # 列表表达式把数据组装起来
for online_dict in data_dict:  # 判断如果时间类型要转出字符串,后期碰到什么类型不能转的在加
  for key in online_dict:
    if type(online_dict[key]) in (datetime, pymysql.TIMESTAMP, pymysql.DATE,
                   pymysql.TIME, YEAR):
      online_dict[key] = online_dict[key].strftime(
        "%Y-%m-%d %H:%M:%S")
    else:
      pass
  L.append(online_dict)
conn.commit()
cursor.close()
conn.close()
dic['code'] = '2'
dic['message'] = ''
dic['result'] = L
return HttpResponse(json.dumps(dic, ensure_ascii=False))

以上这篇django执行数据库查询之后实现返回的结果集转json就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用Socket(Https)Post登录百度的实现代码
May 18 Python
python删除文件示例分享
Jan 28 Python
小结Python用fork来创建子进程注意事项
Jul 03 Python
python 列表删除所有指定元素的方法
Apr 19 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
Python opencv实现人眼/人脸识别以及实时打码处理
Apr 29 Python
pandas的to_datetime时间转换使用及学习心得
Aug 11 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
pytorch 常用函数 max ,eq说明
Jun 28 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
如何利用python正则表达式匹配版本信息
Dec 09 Python
Python super()方法原理详解
Mar 31 #Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 #Python
django rest framework serializer返回时间自动格式化方法
Mar 31 #Python
Python @property及getter setter原理详解
Mar 31 #Python
关于Django Models CharField 参数说明
Mar 31 #Python
Django Serializer HiddenField隐藏字段实例
Mar 31 #Python
Django-xadmin+rule对象级权限的实现方式
Mar 30 #Python
You might like
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
解析PHP的session过期设置
2013/06/29 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
Node.js API详解之 os模块用法实例分析
2020/05/06 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
JavaScript实现简单动态表格
2020/12/02 Javascript
python装饰器使用方法实例
2013/11/21 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
使用python实现微信小程序自动签到功能
2020/04/27 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
纯HTML5+CSS3制作生日蛋糕代码
2016/11/16 HTML / CSS
应届生保险求职信
2013/11/11 职场文书
公司董事长岗位职责
2014/06/08 职场文书
委托函范文
2015/01/29 职场文书