django执行数据库查询之后实现返回的结果集转json

 更新时间:2020年03月31日 09:34:29   作者:速度在摇晃  
这篇文章主要介绍了django执行数据库查询之后实现返回的结果集转json,希望对大家有所帮助。一起跟随小编过来看看吧

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树的同构学习笔记

    在本篇文章里小编给大家整理的是一篇关于python树的同构学习笔记以及相关实例代码内容,有需要的朋友们学习下。
    2019-09-09
  • 在python3.5中使用OpenCV的实例讲解

    在python3.5中使用OpenCV的实例讲解

    下面小编就为大家分享一篇在python3.5中使用OpenCV的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Ubuntu20下的Django安装的方法步骤

    Ubuntu20下的Django安装的方法步骤

    这篇文章主要介绍了Ubuntu20下的Django安装的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用Python 自动生成 Word 文档的教程

    使用Python 自动生成 Word 文档的教程

    今天小编就为大家分享一篇使用Python 自动生成 Word 文档的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 利用pyshp包给shapefile文件添加字段的实例

    利用pyshp包给shapefile文件添加字段的实例

    今天小编就为大家分享一篇利用pyshp包给shapefile文件添加字段的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python实现字符串中字符分类及个数统计

    python实现字符串中字符分类及个数统计

    这篇文章主要介绍了python实现字符串中字符分类及个数统计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 深入了解Python中反射和动态属性的无限可能

    深入了解Python中反射和动态属性的无限可能

    理解 Python 中的反射和动态属性是编写灵活和强大程序的关键,在这篇文章中,小编将带领大家一起反射和动态属性的概念,并提供大量示例代码,希望对大家有所帮助
    2023-11-11
  • python 写函数在一定条件下需要调用自身时的写法说明

    python 写函数在一定条件下需要调用自身时的写法说明

    这篇文章主要介绍了python 写函数在一定条件下需要调用自身时的写法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 基于Python记录一场2023的烟花

    基于Python记录一场2023的烟花

    弹指间,2023已经到来,新的一年,祝大家新年快乐~~~本文将利用Python为大家绘制一个2023的烟花,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-01-01
  • python中利用h5py模块读取h5文件中的主键方法

    python中利用h5py模块读取h5文件中的主键方法

    今天小编就为大家分享一篇python中利用h5py模块读取h5文件中的主键方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论