Django Rest Framework 序列化(下)
一、校验数据
序列化不仅可以做数据的返回,也可以对前端提交的数据进行校验
案例目录
<1>类方法校验
新建 validator.py 文件
在 serializer.py 文件中添加 UserGroupSerializer 类函数
上面的 TitleValidator 类封装了对 request.data 前端传来的数据的校验,title 相对应的是数据中的 key 为 value 的值。TitleValidator 实现了 call() 特殊方法,并把具体的验证逻辑封装到里边,是一个可直接调用的对象。而 self.base 则为具体的 title 对应的数据,进行处理。
<2>钩子方法
在定义钩子方法的时候,钩子函数是以 validate_字段名 的方法进行命名的。只有遵循这样的格式,在 Serializer 内部会对钩子函数的名字进行拆分并识别出来。在 validate_title 内部封装了对数据的校验操作,value 则为具体的值。
二、分页
分页有三种方式:
① 路由
<1> 主路由
<2> app 路由
② 视图
在 不使用 django rest framework 中的分页组件仍能达到目的。