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 //前端直接获取值
  • 相关阅读:
    七、python抽象
    六、python条件、循环及其它语句
    泛型数组
    判断数组是否包含此元素
    数组倒序
    Class字节码文件获取的三种方法
    操作系统的产生
    Java重载的概述
    表设计遵循的三大范式实例
    pyqt5窗体分隔
  • 原文地址:https://www.cnblogs.com/Forever77/p/10855525.html
Copyright © 2011-2022 走看看