django序列化
序列化:將數(shù)據(jù)轉(zhuǎn)化為可以存儲在文件中的格式的過程叫做序列化
反序列化:將文件中的數(shù)據(jù)轉(zhuǎn)化為原格式的過程叫做反序列化
?
python的dump不能序列化django的QuerySet和model對象,如果要序列化QuerySet,需要用到serializers模塊,且該模塊只能序列化QuerySet。
第一種情況
后端序列化:serializers.serialize("json",QuerySet)
前端反序列化:JSON.parse(序列化數(shù)據(jù))
#在后臺 from django.core import serializers #導(dǎo)入模塊 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))?
//在前端ajaxDataType:'JSON' //DataType指定為JSON會將后端傳遞過來的的JSON字符串轉(zhuǎn)換為原字典格式 ……v = JSON.parse(arg.data) //前端通過JSON.parse()將后端serialize序列化之后的數(shù)據(jù)轉(zhuǎn)化為原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)) //在前端ajaxDataType:'JSON' //DataType指定為JSON會將后端傳遞過來的的JSON字符串轉(zhuǎn)換為原字典格式 ……v = arg.data //前端直接獲取值?
轉(zhuǎn)載于:https://www.cnblogs.com/Forever77/p/10855525.html
總結(jié)
- 上一篇: Tensorflow的LRN是怎么做的
- 下一篇: idea提交新项目到远程git创库