What do .to_representation()
and .to_internal_value
do in serializers
?
如果我将数据传递给序列化器,数据会被抛出吗to_representation()
first?
这两个有什么用呢?
如果要创建自定义字段,则需要子类化 Field
然后覆盖其中一个或两个.to_representation()
and
.to_internal_value()
方法。这两个方法用于转换
介于初始数据类型和原始可序列化数据类型之间。
原始数据类型通常是数字、字符串、
布尔值、日期/时间/日期时间或无。它们也可以是任何列表或
类似于字典的对象,仅包含其他原始对象。
可能支持其他类型,具体取决于您使用的渲染器
使用。
The .to_representation()
调用方法来转换初始值
数据类型转换为原始的、可序列化的数据类型。
The to_internal_value()
调用方法来恢复原语
数据类型转换为它的内部 python 表示形式。这个方法应该
如果数据无效,则引发 serializers.ValidationError 。
请注意,WritableField
版本 2.x 中存在的类 否
不再存在。您应该子类化 Field 并覆盖to_internal_value()
如果该字段支持数据输入。
Ref:
- http://www.django-rest-framework.org/api-guide/fields/#custom-fields http://www.django-rest-framework.org/api-guide/fields/#custom-fields
- https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/serializers.py#L417 https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/serializers.py#L417
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)