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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
在Python中操作字符串之startswith()方法的使用
May 20 Python
python采集百度百科的方法
Jun 05 Python
Python实现的字典值比较功能示例
Jan 08 Python
pandas对指定列进行填充的方法
Apr 11 Python
python 为什么说eval要慎用
Mar 26 Python
python用for循环求和的方法总结
Jul 08 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
Python @property及getter setter原理详解
Mar 31 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
python状态机transitions库详解
Jun 02 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 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读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
用nodejs写的一个简单项目打包工具
2013/05/11 NodeJs
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
使用Angular CLI快速创建Angular项目的一些基本概念和写法小结
2018/04/22 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
JavaScript使用math.js进行精确计算操作示例
2018/06/19 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
python编写简单爬虫资料汇总
2016/03/22 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
Python 解析简单的XML数据
2020/07/24 Python
基于Python正确读取资源文件
2020/09/14 Python
俄语专业毕业生求职信
2014/07/12 职场文书
土地转让协议书
2014/09/27 职场文书
2014年医院个人工作总结
2014/12/09 职场文书
灵山大佛导游词
2015/02/04 职场文书
母亲节寄语大全
2015/02/27 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android