Django的序列化
对于Django的Queryset<Queryset [object,object,object]>这种关于django的Querysetset对象这种是不能用python的json方法,这时候就需要用到django的 serializers
Django序列化对象
使用serializers
1
2
|
from django.core import serializers data = 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) |