BaseSerializer
类,该类可用于轻松支持可选序列化和反序列化样式。
此类实现与Serializer
类具有相同的基本API:
.data
- 返回传出基元表示形式。.is_valid()
- 反序列化和验证传入数据。.validated_data
- 返回已验证的传入数据。.errors
- 返回验证期间的任何错误。.save()
- 将已验证的数据持久化到对象实例中。
根据您希望序列化程序类支持的功能,可以重写四种方法:
.to_representation()
- 重写此项以支持读操作的序列化。.to_internal_value()
- 重写此项以支持写操作的反序列化。.create()
和.update()
- 重写其中一个或两个以支持保存实例。
因为该类提供与Serializer
类相同的接口,您可以将它与现有的基于类的通用视图一起使用,就像对常规视图一样Serializer
或者ModelSerializer
。
这样做的唯一区别是BaseSerializer
类不会在可浏览API中生成HTML表单。这是因为它们返回的数据不包括允许每个字段呈现为合适的HTML输入的所有字段信息。