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 字典与字符串的互转实例
Jan 13 Python
python:print格式化输出到文件的实例
May 14 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
python实现维吉尼亚加密法
Mar 20 Python
Python3.5运算符操作实例详解
Apr 25 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
python 读取、写入txt文件的示例
Sep 27 Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
PHP完整的日历类(CLASS)
2006/11/27 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
使用原生js写的一个简单slider
2014/04/29 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
js select实现省市区联动选择
2020/04/17 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
Angular利用trackBy提升性能的方法
2018/01/26 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
Python splitlines使用技巧
2008/09/06 Python
10种检测Python程序运行时间、CPU和内存占用的方法
2015/04/01 Python
Python使用MYSQLDB实现从数据库中导出XML文件的方法
2015/05/11 Python
Python的argparse库使用详解
2018/10/09 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python中rc1什么意思
2020/06/19 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
2014年物业管理工作总结
2014/11/21 职场文书
高中体育课教学反思
2016/02/16 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers
详解vue中v-for的key唯一性
2021/05/15 Vue.js