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

第一种方式:

利用seriallizers

这个方法,官网的解释说:将复杂的数据结构变成json、xml或者其他的格式

importjsonfromdjango.coreimportserializersdefarea2(request,id):data = {}    province  = serializers.serialize("json",AreaInfo.objects.filter(parea__isnull=True))    data["data"] = json.loads(province)returnJsonResponse(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,这也是三种中最简单的 货运app开发找上海捌跃网络科技有限公司

defarea2(request,id):data = {}    province = AreaInfo.objects.filter(parea__isnull=True).values()    data["data"] = list(province)returnJsonResponse(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循环拼装:

defarea2(request,id):data = AreaInfo.objects.filter(parea__isnull=True)    list=[]forprovinceindata:        list.append([province.id,province.title])    data={'data':list}returnJsonResponse(data,safe=False)

运行结果如下:

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


转自:http://blog.51cto.com/853056088/2313833

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,516评论 0 13
  • # 一度蜜v3.0协议 --- # 交互协议 [TOC] ## 协议说明 ### 请求参数 下表列出了v3.0版协...
    c5e350bc5b40阅读 672评论 0 0
  • 饭后闲聊,你突然说:“爸爸有学校,妈妈有学校,我有幼儿园,奶奶没有学校,奶奶,我买个幼儿园给你。”奶奶咧嘴...
    阿杉1阅读 773评论 0 2
  • 从呱呱坠地的那一刻起 人生就拉开了序幕 你成了一名演员 每天扮演着各种角色 一刻不曾停歇 有一天 你累了 忽然想起...
    克里希那静修阅读 663评论 0 56
  • 最近看到了链式编程和函数式编程这两个概念,这两天不是那么的忙 所以也研究了下这两个概念;在查询链式编程和函数式编程...
    枫叶1234阅读 418评论 0 0