From 553cf5540ed0d51e584a9a2012ce1f8dd4a01ef2 Mon Sep 17 00:00:00 2001 From: kakulukia Date: Mon, 13 Oct 2014 16:09:45 +0200 Subject: [PATCH] allow to work like in django admin which also tries to call the given methon on the object itself try to call the given serializer method on the serializer itself and on the model in that order --- rest_framework/fields.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 9b54dd271..9e709e95c 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1047,5 +1047,10 @@ class SerializerMethodField(Field): super(SerializerMethodField, self).__init__(*args, **kwargs) def field_to_native(self, obj, field_name): - value = getattr(self.parent, self.method_name)(obj) + if hasattr(self.parent, self.method_name): + method = getattr(self.parent, self.method_name) + value = method(obj) + else: + method = getattr(obj, self.method_name) + value = method() return self.to_native(value)