您的位置:首页 > 其它

DRF框架 定义序列化器ModelSerializer的使用

2019-08-18 10:49 183 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/lh_hebine/article/details/99702147

序列化器的作用:
进行数据的校验
对数据对象进行转换

serializer不是只能为数据库模型类定义,也可以为非数据库模型类的数据定义。

序列化器:将查询的后端数据转换成JSON类型传递前端

反序列化器:获取前端JSON数据,验证数据后保存或更新数据,得到新的数据对象,并保存到数据库中。

创建Serializer对象

定义好Serializer类后,就可以创建Serializer对象了。

Serializer的构造方法为:

Serializer(instance=None, data=empty, **kwarg)
说明:

1)用于序列化时,将模型类对象传入instance参数

2)用于反序列化时,将要被反序列化的数据传入data参数

3)除了instance和data参数外,在构造Serializer对象时,还可通过context参数额外添加数据,如

serializer = AccountSerializer(account, context={'request': request})

通过context参数附加的数据,可以通过Serializer对象的context属性获取。

模型类序列化器ModelSerializer

DRF框架封装了序列化和反序列化,方便调用序列化器的类。

ModelSerializer与常规的Serializer相同,但提供了:

  • 基于模型类自动生成一系列字段
  • 基于模型类自动为Serializer生成validators,比如unique_together
  • 包含默认的create()和update()的实现

Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。

通常简称为DRF框架 或 REST framework。

DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。

特点:
1- 提供了定义序列化器Serializer的方法,可以快速根据Django ORM或者其他库自动序列化和反序列化
2- 提供了丰富的类视图,Mixin扩展类,简化视图的编写
3- 丰富的定制层级:函数视图、类视图、视图集合、到自动生成API,满足各种需要
4- 多种身份认证和权限认证方式的支持
5-内置了限流系统
6- 直观的API Web界面
7-可扩展性,插件丰富

官方文档
https://www.django-rest-framework.org/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐