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 拷贝对象(深拷贝deepcopy与浅拷贝copy)
Sep 06 Python
精确查找PHP WEBSHELL木马的方法(1)
Apr 12 Python
使用Python压缩和解压缩zip文件的教程
May 06 Python
Python中的fileinput模块的简单实用示例
Jul 09 Python
python flask实现分页的示例代码
Aug 02 Python
20行python代码实现人脸识别
May 05 Python
对Python强大的可变参数传递机制详解
Jun 13 Python
Pandas之DataFrame对象的列和索引之间的转化
Jun 25 Python
python数据化运营的重要意义
Nov 25 Python
Python计算指定日期是今年的第几天(三种方法)
Mar 26 Python
keras的三种模型实现与区别说明
Jul 03 Python
基于python实现可视化生成二维码工具
Jul 08 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
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
javascript生成大小写字母
2015/07/03 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
JS遍历DOM文档树的方法实例详解
2018/04/03 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
Python处理Excel文件实例代码
2017/06/20 Python
Python中协程用法代码详解
2018/02/10 Python
Flask框架中request、请求钩子、上下文用法分析
2019/07/23 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
python try...finally...的实现方法
2020/11/25 Python
Autopep8的使用(python自动编排工具)
2021/03/02 Python
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
医学院学生求职简历的自我评价
2013/10/24 职场文书
学生打架检讨书大全
2014/01/23 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
法定代表人证明书
2014/11/28 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
教师培训学习心得体会
2016/01/21 职场文书
go开发alertmanger实现钉钉报警
2021/07/16 Golang
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫