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使用PyGame播放Midi和Mp3文件的方法
Apr 24 Python
Python选课系统开发程序
Sep 02 Python
python实现基于SVM手写数字识别功能
May 27 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
numpy.linspace函数具体使用详解
May 27 Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
Mar 02 Python
Python离线安装各种库及pip的方法
Nov 28 Python
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
Apr 03 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/02/14 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
web3.js增加eth.getRawTransactionByHash(txhash)方法步骤
2018/03/15 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
angular中的post请求处理示例详解
2020/06/30 Javascript
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
python基于递归解决背包问题详解
2019/07/03 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
python如何建立全零数组
2020/07/19 Python
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
市场营销职业生涯规划书范文
2014/01/12 职场文书
银行办理业务介绍信
2014/01/18 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
七一讲话心得体会
2014/09/05 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
css filter和getUserMedia的联合使用
2022/02/24 HTML / CSS
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL