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练习程序批量修改文件名
Jan 16 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
python numpy 按行归一化的实例
Jan 21 Python
python下载微信公众号相关文章
Feb 26 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
Jul 31 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
Python中 Global和Nonlocal的用法详解
Jan 20 Python
Python字符串及文本模式方法详解
Sep 10 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实现猴子选大王问题算法实例
2015/04/20 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
js静态作用域的功能。
2006/12/25 Javascript
JavaScript实现网页上的浮动广告的简单方法
2013/06/14 Javascript
javascript实现可改变滚动方向的无缝滚动实例
2013/06/17 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
深入理解JavaScript中的传值与传引用
2013/12/09 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
详解vue-router基本使用
2017/04/18 Javascript
JavaScript初学者必看“new”
2017/06/12 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
如何编写一个完整的Angular4 FormText 组件
2017/11/18 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
Python使用asyncio包处理并发详解
2017/09/09 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python实现两张图片的像素融合
2019/02/23 Python
对Django 转发和重定向的实例详解
2019/08/06 Python
使用OpenCV circle函数图像上画圆的示例代码
2019/12/27 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
美国Max仓库:Max Warehouse
2020/05/31 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
师范生实习个人的自我评价
2013/09/28 职场文书
学前班教师的自我鉴定
2013/12/05 职场文书
幼儿教师国培感言
2014/02/19 职场文书
大一新生学期自我评价
2014/04/09 职场文书
小学生作文评语
2014/04/18 职场文书
社会实践活动总结格式
2015/05/11 职场文书
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android