序列化:
把数据类型转化成可传输的数据的过程叫序列化
反序列化:
把传输的数据转换成数据类型的过程叫反序列化
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方法)