序列化

序列化:

把数据类型转化成可传输的数据的过程叫序列化

反序列化:

把传输的数据转换成数据类型的过程叫反序列化

Django REST framework

扩展

序列化:

serializer = SnippetSerializer(snippet)其中snippet是一个model类的实例

serializer.data调用序列化类的data静态方法就可以得到序列化后的对应数据。

序列化类也可以传入Model类的querysets类型来序列化多组数据,只需要将其中的一个many参数改为True,即many=True,

serializer = SnippetSerializer(querysets)

serializer.data

通过以上的操作得到的数据类型为python的基本数据类型,可以通过一下方式将数据转化成json数据

from rest_framework.renderers import JSONRenderer

content = JSONRenderer().render(serializer.data)

反序列化:

首先我们需要将json数据转化成流,然后在转化成python基本的数据结构

import io

stream = io.BytesIO(content)通过io模块将json数据类型转化成流

data = JSONParser().parse(stream)将流转化成python基本的数据结构

serializer = SnippetSerializer(data=data)反序列化数据

serializer.is_valid()校验数据

serializer.validated_data查看校验通过的数据

serializer.save()保存数据(调用序列化类的creat方法)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容