【发布时间】:2016-03-15 18:14:56
【问题描述】:
.to_representation() 和 .to_internal_value 在 serializers 中做了什么?
如果我将数据传递给序列化程序,是否首先抛出数据to_representation()?
这两个有什么用?
【问题讨论】:
标签: django django-rest-framework
.to_representation() 和 .to_internal_value 在 serializers 中做了什么?
如果我将数据传递给序列化程序,是否首先抛出数据to_representation()?
这两个有什么用?
【问题讨论】:
标签: django django-rest-framework
如果你想创建一个自定义字段,你需要将 Field 子类化 然后覆盖
.to_representation()和.to_internal_value()方法。这两种方法用于转换 在初始数据类型和原始的、可序列化的数据类型之间。 原始数据类型通常是数字、字符串、 布尔值、日期/时间/日期时间或无。它们也可以是任何列表或 只包含其他原始对象的字典类对象。 可能支持其他类型,具体取决于您使用的渲染器 使用。调用
.to_representation()方法转换初始 数据类型转换为原始的、可序列化的数据类型。调用
to_internal_value()方法来恢复原语 数据类型转换为其内部 python 表示。这种方法应该 如果数据无效,则引发 serializers.ValidationError。请注意,版本 2.x 中存在的
WritableField类没有 不再存在。您应该继承 Field 并覆盖to_internal_value()如果字段支持数据输入。
参考:
【讨论】: