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 相关文章推荐
详解Django缓存处理中Vary头部的使用
Jul 24 Python
python如何创建TCP服务端和客户端
Aug 26 Python
opencv python 图像去噪的实现方法
Aug 31 Python
Django2.1.3 中间件使用详解
Nov 26 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
python实现图片九宫格分割
Mar 07 Python
python通过http下载文件的方法详解
Jul 26 Python
django 简单实现登录验证给你
Nov 06 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
May 19 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
python如何删除列为空的行
Jul 17 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/07/07 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
vue实现购物车的监听
2020/04/20 Javascript
Python六大开源框架对比
2015/10/19 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
Python enumerate内置库用法解析
2020/02/24 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
python字典与json转换的方法总结
2020/12/28 Python
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
上班早退检讨书
2014/01/09 职场文书
党员入党表决心的话
2014/03/11 职场文书
初三班主任寄语大全
2014/04/04 职场文书
党性观念心得体会
2014/09/03 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
经理助理岗位职责
2015/02/02 职场文书
2015年团支书工作总结
2015/04/03 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
pd.drop_duplicates删除重复行的方法实现
2022/06/16 Python