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编写屏幕截图程序方法
Feb 18 Python
Djang中静态文件配置方法
Jul 30 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python实现加载及解析properties配置文件的方法
Mar 29 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
Python网络编程之ZeroMQ知识总结
Apr 25 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 多维数组排序实现代码
2009/08/05 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
jQuery实现图片与文字描述左右滑动自动切换的方法
2015/07/27 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
大学毕业生通用自荐信范文
2013/10/31 职场文书
大学生表扬信范文
2014/01/09 职场文书
市政施工员自我鉴定
2014/01/15 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
地心历险记观后感
2015/06/15 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python