在Django REST框架的self.instance SerializerMethodField中与的区别是什么?
根据SerializerMethodField的文档,讨论了obj参数:
method_name参数所引用的序列化器方法应该接受单个参数(除了self),该参数是正在序列化的对象。

并根据串行化的文档讨论了self.instance
当将初始对象或查询集传递给序列化程序实例时,该对象将以
.instance的形式可用。如果没有传递初始对象,那么.instance属性将为None。
那么,他们指的是同一个对象吗?
发布于 2019-05-13 01:47:49
传递给方法的obj参数基于给SerializerMethodField的source参数。
通常,source参数只是"*","*"指示序列化程序将实例传递给方法。如果您将source="date_joined"设置在您的SerializerMethodField上,那么您的get_days_since_joined可能会如下所示:
def get_days_since_joined(self, date_joined):
return (now() - date_joined).dayshttps://stackoverflow.com/questions/56104684
复制相似问题