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实现的阳历转阴历(农历)算法
Apr 25 Python
python统计一个文本中重复行数的方法
Nov 19 Python
python计算方程式根的方法
May 07 Python
200行自定义python异步非阻塞Web框架
Mar 15 Python
python如何使用正则表达式的前向、后向搜索及前向搜索否定模式详解
Nov 08 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
python编程嵌套函数实例代码
Feb 11 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
python中selenium操作下拉滚动条的几种方法汇总
Jul 14 Python
Python实现word2Vec model过程解析
Dec 16 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静态新闻列表自动生成代码
2007/06/14 PHP
PHP 文件扩展名 获取函数
2009/06/03 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
一些常用的JavaScript函数(json)附详细说明
2011/05/25 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
密码强度检测效果实现原理与代码
2013/01/04 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
jQuery选择器querySelector的使用指南
2015/01/23 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
JQuery和HTML5 Canvas实现弹幕效果
2017/01/04 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
Python分析学校四六级过关情况
2017/11/22 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
自动化系在校本科生求职信
2013/10/23 职场文书
心得体会怎么写
2013/12/30 职场文书
食堂个人先进事迹
2014/01/22 职场文书
2014年民政工作总结
2014/11/26 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
导游词之塘栖古镇
2019/12/04 职场文书