Django的序列化
对于Django的Queryset<Queryset [object,object,object]>这种关于django的Querysetset对象这种是不能用python的json方法,这时候就需要用到django的 serializers
Django序列化对象
使用serializers
|
1
2
|
from django.core import serializersdata = serializers.serialize("序列化格式",QuerySet ) |
传递给 serialize 方法的参数有二:一个序列化目标格式,另外一个是序列号的对象QuerySet. (事实上,第二个参数可以是任何可迭代的Django Model实例,但它很多情况下就是一个QuerySet).
例如:
|
1
2
3
4
5
|
from django.core import serializers ret = models.BookType.objects.all() data = serializers.serialize("json", ret) |
python基本类型的序列化
关于python一些内置一些类型(例如:字典,列表,元祖。。。)的序列化,就用json 就可以了
只要不是关于django对象的序列化,就用json.dumps
例如:
|
1
2
3
4
5
6
7
8
|
import json #ret1 = models.BookType.objects.all().values(‘caption‘)#ret1[‘列名‘] = list(ret1)提示:.values取到的格式是这种<querytset [{key:value},{key:value}.......]> 列表里面的字典类型的格式values_list 格式是这种<querytset [(),(),(),()......]> 列表里面元祖的格式ret = models.BookType.objects.all().values_list(‘caption‘) ret=list(ret) result = json.dumps(ret) |