DRF序列化

Posted sunny666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRF序列化相关的知识,希望对你有一定的参考价值。

Serializers 序列化组件 

  当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式。

  那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化。

  接下来我们看下django序列化和rest_framework序列化的对比

  Django序列化传值给前端:

    技术图片

  Serializers序列化传值给前端:

    首先,我们要用DRF的序列化,就要遵循人家框架的一些标准, 

    Django我们CBV继承类是View,现在DRF我们要用APIView

    Django中返回的时候我们用HTTPResponse,JsonResponse,render ,DRF我们用Response

    第一步 声明序列化类

      技术图片

 

     第二步 序列化对象

      技术图片

    当然,当前端给我们发送post请求时候,传过来的数据我们要保存至数据库和校验,

    反序列化用的一些字段~有些字段要跟序列化区分开

  

  Serializers反序列化

       技术图片

        required=False --不校验
        read_only=True --序列化
        write_only=True --反序列化
        这里 w_category 和 publisher_id字段因为序列化的显示字段
        与反序列不同,所以另起一个字段

 

      

      序列化对象:

       技术图片  

 验证

  在声明序列化类下对一些字段校验的方法

  技术图片

    字段必须包含python

 

  技术图片

    对多个字段验证

  

   技术图片

    自定义校验函数

 

    技术图片

    

    校验那个字段放在哪里

以上是关于DRF序列化的主要内容,如果未能解决你的问题,请参考以下文章

drf序列化及反序列化

drf框架 - 序列化组件

drf高级二 序列化器

DRF序列化代码

drf 序列化组件

DRF框架之 serializers 序列化组件