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 //前端直接获取值
  • 相关阅读:
    左孩子右兄弟的字典树
    UVA 1401 Remember the Word
    HDOJ 4770 Lights Against Dudely
    UvaLA 3938 "Ray, Pass me the dishes!"
    UVA
    Codeforces 215A A.Sereja and Coat Rack
    Codeforces 215B B.Sereja and Suffixes
    HDU 4788 Hard Disk Drive
    HDU 2095 find your present (2)
    图的连通性问题—学习笔记
  • 原文地址:https://www.cnblogs.com/Forever77/p/10855525.html
Copyright © 2011-2022 走看看