关于Django的序列化

本文介绍了Django中序列化的概念及应用,特别是针对QuerySet对象的序列化方法。通过使用Django提供的serializers模块,可以将QuerySet对象转换为JSON等格式。此外,还对比了Python内置json库与Django序列化模块的不同之处。

关于Django的序列化


Django支持的序列化格式

1
2
3
4
Identifier Information
xml Serializes to and  from a simple XML dialect.
json    Serializes to and  from JSON.
yaml    Serializes to YAML (YAML Ain’t a Markup Language). This serializer  is only available  if PyYAML  is installed.

  

 

这里只介绍关于json的django的序列化格式

 

 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)

posted on 2018-01-09 23:16 多一点 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值