【发布时间】:2014-06-24 16:57:42
【问题描述】:
在 Django REST 框架中,是否存在 SerializerMethodField 的“逆”,即 write_only?我正在寻找的是一个Serializer,它将根据方法返回的值在模型上设置一个字段。
我不希望这个字段呈现一个小部件。
【问题讨论】:
-
在这种情况下,您可能需要parser,而不是序列化程序。
-
@PauloScardine 虽然可以这样做(例如子类化现有的解析器,调用超级
parse方法,然后将所需的值插入到解析的数据中),但我需要为每种解析方式(JSON、YAML 等)执行此操作。我要注入的内容发生在原始数据解码后。 -
好的,在通用视图上覆盖
pre_save或post_save的mixin 怎么样?然后你只需要在声明你的视图时包含那个 mixin。 -
pre_save的问题是它在模型序列化程序调用is_valid之后被调用,这意味着该值不能用于验证其他字段。这也意味着如果我想验证这个“注入”值,我需要在视图中重新实现验证。 -
确定值的时候一定要访问对象吗?结果基于哪些数据?
标签: django django-rest-framework