DRF序列化

Serializers 序列化组件 

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

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

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

  Django序列化传值给前端:

    

  Serializers序列化传值给前端:

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

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

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

    第一步 声明序列化类

      

       source='get_category_display'获取category Model字段名称

     

    第二步 序列化对象

      

    many=True , 多对多字段的queryset

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

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

    

  Serializers反序列化

       

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

      

      序列化对象:

         

 验证

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

  

    字段必须包含python


  

    对多个字段验证


  

   

    自定义校验函数

    

    

    校验哪个字段就将校验函数放在哪里

原文地址:https://www.cnblogs.com/sunny666/p/11184741.html