与常规的Serializer相同, 但提供了: 基于模型类自动生成一系列字段, 基于模型类自动为Serializer生成validators,比如unique_together,
包含默认的create和update的实现.
class Meta:
model指明参照哪个模型类,
fields指明为模型类的哪些字段生成
2.指定字段:
1>fields 用来明确字段, __all__表名包含所有字段, 也可以写明具体哪些字段.
2>使用exclude可以明确排除掉哪些字段
3> 默认ModelSerializer使用主键作为关联字段,但是我们可以使用depth来简单的生成嵌套表示,depth应该是整数,表明嵌套的层级数量
4> 可以通过read_only_fields指明只读字段, 仅用于序列化输出的字段.
3.添加额外参数
可以使用extra_kwargs参数为ModelSerializer添加或修改原有的选项参数
class BookInfoSerializer(serializers.ModelSerializer):
"""图书数据序列化器"""
class Meta:
model = BookInfo
fields = ('id', 'btitle', 'bpub_date', 'bread', 'bcomment')
extra_kwargs = { 'bread': {'min_value': 0, 'required': True},
'bcomment': {'min_value': 0, 'required': True}, }