博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django的序列化
阅读量:6572 次
发布时间:2019-06-24

本文共 1355 字,大约阅读时间需要 4 分钟。

什么叫序列化与反序列化

我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。

序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。

Django支持的序列化格式

Identifier Informationxml 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:

from django.core import serializersdata = serializers.serialize("序列化格式",QuerySet )

传递给 serialize 方法的参数有二:一个序列化目标格式,另外一个是序列号的对象QuerySet. (事实上,第二个参数可以是任何可迭代的Django Model实例,但它很多情况下就是一个QuerySet).

例如:

from django.core import serializersret = models.BookType.objects.all()data = serializers.serialize("json", ret)

python基本类型的序列化

关于python一些内置一些类型(例如:字典,列表,元祖。。。)的序列化,就用json 就可以了

只要不是关于django对象的序列化,就用json.dumps

例如:

import json#ret1 = models.BookType.objects.all().values('caption')#ret1['列名'] = list(ret1)提示:.values取到的格式是这种
列表里面的字典类型的格式values_list 格式是这种
列表里面元祖的格式ret = models.BookType.objects.all().values_list('caption') ret=list(ret) result = json.dumps(ret)

转载于:https://blog.51cto.com/12332406/2107689

你可能感兴趣的文章
github的使用(git shell )
查看>>
如何优化js代码(1)——字符串的拼接
查看>>
PHP 时间操作 / 跳转问题
查看>>
Windows 2012 R2 FSMO角色相关小记录
查看>>
2017年6月12日笔记
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
我的友情链接
查看>>
Maven创建新的依赖项目
查看>>
2015年10月26日作业
查看>>
LAMP,安装脚本
查看>>
面向对象题目
查看>>
Java异常总结
查看>>
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
Nginx 支持webSocket 响应403
查看>>
lnmp安装
查看>>
FTP工作方式
查看>>