sunny-cheng  

通过Serializer的用法,会发现我们所有的序列化跟我们的模型都紧密相关

DRF也给我们提供了跟模型紧密相关的序列化器~~ModelSerializer

  -- 它会根据模型自动生成一组字段

  -- 它简单的默认实现了.update()以及.create()方法

 

定义一个ModelSerializer序列化器

      

    fields = ["id", "title", "pub_time"]  #包含某些字段
    exclude = ["user"]            #排除的字段

 

外键关系的序列化

  

 

  注意:当序列化类MATE中定义了depth就是定义了外键关系的序列化,

    这个序列化类中引用字段(外键)则自动变为只读

自定义字段

  我们可以声明一些字段来覆盖默认字段,来进行自定制~

  

    这里覆盖category字段

  

 

SerializerMethodField

   外键关联的对象有很多字段我们是用不到的~都传给前端会有数据冗余~就需要我们自己去定制序列化外键对象的哪些字段~~

   

  

  用ModelSerializer改进上面Serializer的完整版

    

 

posted on 2019-07-14 22:57  sunny-cheng  阅读(267)  评论(0编辑  收藏  举报