ModelSerializer

博客介绍了DRF中与模型紧密相关的序列化器ModelSerializer。它能根据模型自动生成字段,默认实现.update()和.create()方法。还阐述了外键关系的序列化、自定义字段、SerializerMethodField的使用,最后给出用ModelSerializer改进Serializer的完整版。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

 

定义一个ModelSerializer序列化器

      

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

 

外键关系的序列化

  

 

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

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

自定义字段

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

  

    这里覆盖category字段

  

 

SerializerMethodField

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

   

  

  用ModelSerializer改进上面Serializer的完整版

    

 

转载于:https://www.cnblogs.com/sunny666/p/11186315.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值