美文网首页
ListSerializer

ListSerializer

作者: xncode | 来源:发表于2021-03-04 09:47 被阅读0次

    在普通serializer使用many=True创建时,会自动创建出ListSerializer

    allow_empty默认是True,设置为False则不允许空列表传入

    【自定义】
    提供特殊的校验,例如列表中的一个元素不和其他元素冲突
    想要自定义多元素的创建和修改操作

    在想要修改的serializer的Meta中指定list_serializer_class

    class CustomListSerializer(serializers.ListSerializer):
        class Meta:
            list_serializer_class = CustomListSerializer
    

    创建CustomListSerializer这样改变默认的ListSerializer的行为

    创建:默认的行为是在列表中的每一个元素上调用create,可在自定义的ListSerializer中重写create函数

    修改:默认不支持修改,需要解决一些问题(怎样确认列表中的哪个元素来更新?插入怎样处理,失效还是创建新的?删除怎样处理,直接删除还是解除关联还是忽略还是失效?顺序怎么处理,改变位置是否有影响?)需要显式指定id,这样在方法中才能使用,默认生成的id是只读的

    自定义初始化,默认把所有参数传递,可定义many_init函数来控制

    相关文章

      网友评论

          本文标题:ListSerializer

          本文链接:https://www.haomeiwen.com/subject/akhqqltx.html