当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在django-rest-framework中使用.to_representation()和.to_internal_value?》经验,为你挑选了1个好方法。

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



1> Geo Jacob..:

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

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

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

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

参考:

    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

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有