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的keyword模块用法实例分析
Jun 30 Python
分享Python文本生成二维码实例
Jan 06 Python
Python读取一个目录下所有目录和文件的方法
Jul 15 Python
python的unittest测试类代码实例
Dec 07 Python
Python语言描述连续子数组的最大和
Jan 04 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
Nov 19 Python
python录音并调用百度语音识别接口的示例
Dec 01 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
学习php设计模式 php实现桥梁模式(bridge)
2015/12/07 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
javascript写的日历类(基于pj)
2010/12/28 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
2018/04/27 jQuery
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
2018/09/06 jQuery
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
详解webpack-dev-middleware 源码解读
2020/03/23 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
JavaScript代码实现微博批量取消关注功能
2021/02/05 Javascript
python实现的文件同步服务器实例
2015/06/02 Python
Python守护进程用法实例分析
2015/06/04 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
python中eval与int的区别浅析
2019/08/11 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
比较基础的php面试题及答案-填空题
2014/04/26 面试题
广告学专业自荐信范文
2014/02/24 职场文书
副护士长竞聘演讲稿
2014/04/30 职场文书
教师个人年度总结
2015/02/11 职场文书
python 批量压缩图片的脚本
2021/06/02 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏