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通过pil将图片转换成黑白效果的方法
Mar 16 Python
Python中的filter()函数的用法
Apr 27 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
Python之列表实现栈的工作功能
Jan 28 Python
python进阶之自定义可迭代的类
Aug 20 Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 Python
使用Pandas的Series方法绘制图像教程
Dec 04 Python
Django 批量插入数据的实现方法
Jan 12 Python
python实现低通滤波器代码
Feb 26 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
如何清空python的变量
Jul 05 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中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php数据库配置文件一般做法分享
2012/07/07 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
Ext JS Grid在IE6 下宽度的问题解决方法
2009/02/15 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
对PyQt5的输入对话框使用(QInputDialog)详解
2019/06/25 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
tensorflow -gpu安装方法(不用自己装cuda,cdnn)
2020/01/20 Python
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
学生会主席演讲稿
2014/04/25 职场文书
乒乓球兴趣小组活动总结
2014/07/08 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
会计工作态度自我评价
2015/03/06 职场文书
2019公司管理制度
2019/04/19 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
Python学习之os包使用教程详解
2022/03/21 Python