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的即时标记项目练习笔记
Sep 18 Python
Python工程师面试题 与Python Web相关
Jan 14 Python
Python中将字典转换为列表的方法
Sep 21 Python
Python面向对象特殊成员
Apr 24 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
Jun 09 Python
python super()函数的基本使用
Sep 10 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
python使用glob检索文件的操作
May 20 Python
python 如何在list中找Topk的数值和索引
May 20 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
论坛头像随机变换代码
2006/10/09 PHP
php array的学习笔记
2012/05/10 PHP
php eval函数用法总结
2012/10/31 PHP
php实现mysql数据库连接操作及用户管理
2015/11/08 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
工作中常用到的JS表单验证代码(包括例子)
2010/11/11 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
React Native预设占位placeholder的使用
2017/09/28 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
[42:32]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.27
2020/12/01 DOTA
python中去空格函数的用法
2014/08/21 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Python用于学习重要算法的模块pygorithm实例浅析
2018/08/16 Python
Python 读写文件的操作代码
2018/09/20 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
培训讲师邀请函
2014/01/10 职场文书
简历自我评价模版
2014/01/31 职场文书
2015年元旦活动总结
2014/05/09 职场文书
关键在于落实心得体会
2014/09/03 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
礼貌问候语大全
2015/11/10 职场文书
团组织关系介绍信
2019/06/24 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers