ModelSerializer
2021-03-03 本文已影响0人
xncode
1、基于model自动生成字段
2、自动生成校验
3、create update简单的默认实现
外键默认映射为PrimaryKeyRelatedField,逆向的关系默认没有
使用fields和exclude来指定包含哪些字段
默认的外键只显示主键,你也可用depth选项方便构造嵌套表示
也可直接添加或者重载字段,就像构造基础的serializer一样,使用source指定对应的值或函数
使用read_only_fields来指定只读的字段
对于model中的字段,如果设置了editable=False或是AutoField,不需要再次指定
特例:
user = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault())‘
这里的user是只读的绑定到当前用户,但是和其他字段组成了一个unique_together 的校验,这里要给出default值,详情查看validator文档
额外参数
extra_kwargs = {'password': {'write_only': True}}
关系字段,查看serializer relations文档
自定义字段映射