分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

Django objects的查询结果转化为json的三种方式

发布时间:2023-09-06 02:21责任编辑:郭大石关键词:jsjson
第一种方式:
利用seriallizers
这个方法,官网的解释说:将复杂的数据结构变成json、xml或者其他的格式

import jsonfrom django.core import serializersdef area2(request,id): ???data = {} ???province ?= serializers.serialize("json",AreaInfo.objects.filter(parea__isnull=True)) ???data["data"] = json.loads(province) ???return JsonResponse(data,safe=False)

输出的结果如下:

{data: [{model: "myapp1.areainfo",fields: {title: "北京市",parea: null},pk: 110000},{model: "myapp1.areainfo",fields: {title: "天津市",parea: null},pk: 120000},{model: "myapp1.areainfo",fields: {title: "河北省",parea: null},pk: 130000},

第二种方法,使用list,这也是三种中最简单的

def area2(request,id): ???data = {} ???province = AreaInfo.objects.filter(parea__isnull=True).values() ???data["data"] = list(province) ???return JsonResponse(data,safe=False)

结果如下:

{data: [{id: 110000,title: "北京市",parea_id: null},{id: 120000,title: "天津市",parea_id: null},{id: 130000,title: "河北省",parea_id: null},{id: 140000,title: "山西省",parea_id: null},

第三种方法比较原始,利用for循环拼装:

def area2(request,id): ???data = AreaInfo.objects.filter(parea__isnull=True) ???list=[] ???for province in data: ???????list.append([province.id,province.title]) ???data={‘data‘:list} ???return JsonResponse(data,safe=False)

运行结果如下:

{data: [[110000,"北京市"],[120000,"天津市"],[130000,"河北省"],[140000,"山西省"],[150000,"内蒙古自治区"],[210000,"辽宁省"],

Django objects的查询结果转化为json的三种方式

原文地址:http://blog.51cto.com/853056088/2313833

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved