.to_representation()和.to_internal_value在serializers中做什么
如果我将数据传递给序列化程序,该数据是否首先抛出to_representation()?
这两个有什么用?
发布于 2015-12-10 07:55:21
如果要创建自定义字段,则需要对字段进行子类,然后重写
.to_representation()和.to_internal_value()方法中的一个或两个方法。这两种方法用于在初始数据类型和可序列化的原始数据类型之间进行转换。基本数据类型通常是数字、字符串、布尔值、日期/时间/日期时间或无的任何数据类型。它们也可能是任何列表或字典,比如只包含其他原始对象的对象。可能支持其他类型,这取决于您正在使用的呈现器。 调用.to_representation()方法将初始数据类型转换为基本的、可序列化的数据类型。 调用to_internal_value()方法将原始数据类型还原到其内部python表示中。如果数据无效,此方法应引发serializers.ValidationError。 请注意,版本2.x中存在的WritableField类不再存在。如果字段支持数据输入,则应子类字段并重写to_internal_value()。
参考:
https://stackoverflow.com/questions/34196331
复制相似问题