和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式

返回多条数据

示例

import json
from django.http import HttpResponse
from django.core import serializers
def db_to_json(request):scripts = Scripts.objects.all()[0:1]json_data = serializers.serialize('json', scripts)return HttpResponse(json_data, content_type="application/json")

返回结果

[{"fields": {"script_content": "abc","script_type": "1"},"model": "home_application.scripts","pk": "03a0a7cf-567a-11e9-8566-9828a60543bb"
}]

功能实现了,但是我需要返回一个约定好的JSON格式,查询结果放在 data 中

 {"message": 'success', "code": '0', "data": []}

代码如下:

import json
from django.http import HttpResponse
from django.core import serializers
def db_to_json2(request):# 和前端约定的返回格式result = {"message": 'success', "code": '0', "data": []}scripts = Scripts.objects.all()[0:1]# 序列化为 Python 对象result["data"] = serializers.serialize('python', scripts)# 转换为 JSON 字符串并返回return HttpResponse(json.dumps(result), content_type="application/json")

调用结果

{"message": "success","code": "0","data": [{"fields": {"script_content": "abc","script_type": "1"},"model": "home_application.scripts","pk": "03a0a7cf-567a-11e9-8566-9828a60543bb"}]
}

有点难受的是,每条数据对象包含 fields,model,pk三个对象,分别代表字段、模型、主键,我更想要一个只包含所有字段的字典对象。虽然也可以处理,但还是省点性能,交给前端解析吧。

返回单个对象

代码:

from django.forms.models import model_to_dict
from django.http import HttpResponse
import json
def obj_json(request):pk = request.GET.get('script_id')script = Scripts.objects.get(pk=pk)# 转为字典类型script = model_to_dict(script)return HttpResponse(json.dumps(script), content_type="application/json")

返回JSON:

{"script_id": "1534d8f0-59ad-11e9-a310-9828a60543bb","script_content": "3","script_name": "3","script_type": "1"
}

Django 查询数据库返回JSON格式数据相关推荐

  1. django mysql返回json_Django 1.8.11 查询数据库返回JSON格式数据

    Django 1.8.11 查询数据库返回JSON格式数据 和前端交互全部使用JSON,如何将数据库查询结果转换成JSON格式 环境 Win10 Python2.7 Django 1.8.11 返回多 ...

  2. (八): 查询结果直接返回Json格式数据

    Bee简单易用:单表操作.多表关联操作,可以不用写sql,极少语句就可以完成SQL操作:10分钟即可学会使用. Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化. ...

  3. php 查询数据库返回json数据

    // 设置返回json格式数据 header('content-type:application/json;charset=utf8'); //连接数据库 $link = mysql_connect( ...

  4. 返回json格式数据乱码

    本文为博主原创,未经允许不得转载: 原本返回json格式数据的代码: @ResponseBody@RequestMapping(value = "getListByTime", m ...

  5. python response.json()报错_Django JsonResponse json格式报错 解决Django响应JsonResponse返回json格式数据报错问题...

    想了解解决Django响应JsonResponse返回json格式数据报错问题的相关内容吗,彭世瑜在本文为您仔细讲解Django JsonResponse json格式报错的相关知识和一些Code实例 ...

  6. python response.json()报错_解决Django响应JsonResponse返回json格式数据报错问题

    解决Django响应JsonResponse返回json格式数据报错问题,给大家,报错,代码,图书,希望能 解决Django响应JsonResponse返回json格式数据报错问题 易采站长站,站长之 ...

  7. Spring MVC--使用Jackson返回JSON格式数据

    使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; cha ...

  8. 使用jQuery发送POST,Ajax请求返回JSON格式数据

    问题: 使用jQuery POST提交数据到PHP文件, PHP返回的json_encode后的数组数据,但jQuery接收到的数据不能解析为JSON对象,而是字符串{"code" ...

  9. Flask设置返回json格式数据

    https://blog.csdn.net/angus_17/article/details/80455838 from flask import Flask, jsonifyapp = Flask( ...

最新文章

  1. Arm 通过虚拟硬件与新的解决方案导向的产品 带动物联网经济转型
  2. Python(28)-文件,os模块
  3. 一篇文章搞懂数据仓库:数据仓库架构-Lambda和Kappa对比
  4. 如何解决SVN 清理失败
  5. 手机MODEM开发(31)---LTE 速率低
  6. 欢迎使用 QEMU 的文档!| 目录
  7. 这才是设计 React 的万金油!
  8. DEBUG -- CLOSE BY CLIENT STACK TRACE问题的两种解决方案,整理自网络
  9. 6.2.1 字符串方法 upper()、 lower()、 isupper()和 islower()
  10. VS2010“未能正确加载包”问题解决方法小汇
  11. 3.8编写程序 ,要求用户从键盘输入一个年份,程序输出改年出生的人的生肖。中国生肖基于12年一个周期,Java
  12. 【数据结构】- 几个步骤教你认识并实现一个链表之带头(哨兵位)双向循环链表(上)
  13. Xshell4连接Linux后 win快捷键锁屏
  14. Mega RAID卡创建步骤
  15. C++:函数指针进阶(四):函数对象operator()
  16. 计算机在辅助设计中的应用,计算机辅助设计在艺术设计中的应用
  17. 城域网IPv6过渡技术——MAP技术
  18. 手机如何批量提取视频中的音频
  19. Matlab如何安装并使用Robotics 机器人工具箱
  20. 如何获取二维数组的长和宽

热门文章

  1. ZEMAX光学设计视频教程 ZEMAX资料教程大全
  2. ●Codevs 4158 残缺的字符串
  3. 计算机应用填空题大全,计算机应用基础填空题(附答案)
  4. 显示或者隐藏datagrid
  5. 国外芯片的前缀,生产厂家及网址
  6. AndroidStudio 模板 Template 生成代码 - 代码模板好,下班回家早
  7. pic关于头文件的进一步理解(基于PIC单片机 C18编译器)
  8. 简单js面向对象打飞机
  9. iframe.contentWindow 介绍
  10. mnist转换为3通道的224*244,生成训练train.txt和vaild.txt