繁体   English   中英

在django-rest-framework中使用.to_representation()和.to_internal_value?

[英]Usage of .to_representation() and .to_internal_value in django-rest-framework?

.to_representation().to_internal_valueserializers .to_internal_value做了什么?
如果我将数据传递给序列化程序,数据to_representation()首先抛出to_representation()
这两个用法是什么用的?

如果要创建自定义字段,则需要子类化Field,然后覆盖.to_representation().to_internal_value()方法中的一个或两个。 这两种方法用于在初始数据类型和原始可序列化数据类型之间进行转换。 原始数据类型通常是数字,字符串,布尔值,日期/时间/日期时间或无。 它们也可以是任何列表或字典,如仅包含其他原始对象的对象。 可能支持其他类型,具体取决于您使用的渲染器。

.to_representation()方法将初始数据类型转换为基本的可序列化数据类型。

调用to_internal_value()方法将原始数据类型恢复为其内部python表示形式。 如果数据无效,此方法应引发serializers.ValidationError。

请注意,版本2.x中存在的WritableField类不再存在。 如果字段支持数据输入,则应该子类化Field并覆盖to_internal_value()

参考:

  1. http://www.django-rest-framework.org/api-guide/fields/#custom-fields
  2. https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/serializers.py#L417

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM