zoukankan      html  css  js  c++  java
  • django序列化

    序列化:将数据转化为可以存储在文件中的格式的过程叫做序列化

    反序列化:将文件中的数据转化为原格式的过程叫做反序列化

    python的dump不能序列化django的QuerySet和model对象,如果要序列化QuerySet,需要用到serializers模块,且该模块只能序列化QuerySet。

    第一种情况

    后端序列化:serializers.serialize("json",QuerySet)

    前端反序列化:JSON.parse(序列化数据)

    #在后台
    from django.core import serializers #导入模块
    import json
    ……
        ret = {'status':True,'data':None}
        user_list = models.UserInfo.objects.all()
        ret['data'] = serializers.serialize("json",user_list) #序列化为json格式
        return HttpResponse(json.dumps(ret))
    //在前端ajax
        DataType:'JSON'  //DataType指定为JSON会将后端传递过来的的JSON字符串转换为原字典格式
        ……
    
        v = JSON.parse(arg.data)  //前端通过JSON.parse()将后端serialize序列化之后的数据转化为原QuerySet

    第二种情况

    #在后台
    import json
    ……
        ret = {'status':True,'data':None}
        user_list = models.UserInfo.objects.all().values('id','username')#或者values_list('id','username') #模型对象,对象中的每一个值为字典或元组
        ret['data'] = list(user_list) 
        return HttpResponse(json.dumps(ret))
    //在前端ajax
        DataType:'JSON'  //DataType指定为JSON会将后端传递过来的的JSON字符串转换为原字典格式
        ……
    
        v = arg.data //前端直接获取值
  • 相关阅读:
    HTML5中的audio在手机端和 微信端的自动播放
    vue框架
    购物车原理
    angular前端框架
    -webkit-line-clamp超过两行就出现省略号
    jQuery事件委托
    淘宝橱窗
    选字游戏
    大众点评订单分库分表实践
    业界难题-“跨库分页”的四种方案
  • 原文地址:https://www.cnblogs.com/Forever77/p/10855525.html
Copyright © 2011-2022 走看看