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 //前端直接获取值
  • 相关阅读:
    htmlspecialchar()
    LINUX权限bash: ./startup.sh: Permission denied
    str_replace()
    centos安装教程
    给准备做软件测试的新手们的一点个人心得
    TFS安装与管理
    TFS使用指南
    实现对n个数字随机排序,并循环输出100次
    SSM启动Tomcat报错ERROR [localhoststartStop1] Context initialization failed
    同济大学软件学院万院长谈择业
  • 原文地址:https://www.cnblogs.com/Forever77/p/10855525.html
Copyright © 2011-2022 走看看