python之路(22)django下ajax取数据序列化
前言
将对象转换成字符串叫做序列化,将字符串转换成对象叫做反序列化
django中使用ajax来取数据,通过views从数据库拿到数据,将数据渲染成html页面,通过浏览器显示,但views返回的的必须是一个字符串,因此序列化就很有必要
从数据可中拿到的list数据有三种形式:
1.all()
返回的是一个QeruySet对象,里面包含一个一个的对象【obj,obj,obj】
#通过serializers模块来是QuerySet对象转换成json格式 #前端需要通过JSON.parse(arg)来解析数据,转换回对象 from django.core import serializers ret = serializers.serialize('json',ret)
2.values()
返回的是一个QuerySet对象,里面是一个一个的字典【{},{},{}】
#通过将QuerySet类型,转换成list类型 import json ret = list(ret) ret = json.dumps(ret)
3.values_list()
返回的是一个QuerySet对象,里面是一个一个的元组【(),(),()】
#通过将QuerySet类型,转换成list类型 import json ret = list(ret) ret = json.dumps(ret)