ModelSerializer和Serializer的区别

    时常,你需要对django model 的实例进行序列化。ModelSerializer 类提供了一个捷径让你可以根据 Model 来创建 Serializer。

ModelSerializer 类和 Serializer 类一样,不过添加了以下功能:

  • 它会基于 model 自动创建一些字段
  • 它会自动生成一些验证,比如 unique_together 验证。
  • 它包含简单的默认的 create() 和 update()

声明一个 ModelSerializer 看起来是这样:

1
2
3
4
class  AccountSerializer(serializers.ModelSerializer):
     class  Meta:
         model  =  Account
         fields  =  ( 'id' 'account_name' 'users' 'created' )

1
2
3
4
5
6
class  AccountSerializer(serializers.ModelSerializer):<br>    name_1  =  SerializerMethodField()<br>    name_2  =  CharField(source = "account_name" )     # source 可接字段或方法
     class  Meta:
         model  =  Account
         fields  =  ( 'id' 'account_name' 'users' 'created' , 'name' )
         # fields = "__all__"
         # exclude = ("users",)<br>        # read_only_fields = ('account_name',)<br>        # extra_kwargs = {'account_name': {'read_only': True}}<br>    def get_name_1(self,obj):<br>        return obj.name

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值