@@ -107,14 +107,6 @@ def get_links(self, obj=None, lookup_field='pk'):
107107 return_data .update ({'related' : related_link })
108108 return return_data
109109
110- def get_attribute (self , instance ):
111- # check for a source fn defined on the serializer instead of the model
112- if self .source and hasattr (self .parent , self .source ):
113- serializer_method = getattr (self .parent , self .source )
114- if hasattr (serializer_method , '__call__' ):
115- return serializer_method (instance )
116- return super (ResourceRelatedField , self ).get_attribute (instance )
117-
118110 def to_internal_value (self , data ):
119111 if isinstance (data , six .text_type ):
120112 data = json .loads (data )
@@ -149,3 +141,12 @@ def choices(self):
149141 for item in queryset
150142 ])
151143
144+
145+ class SerializerMethodResourceRelatedField (ResourceRelatedField ):
146+ def get_attribute (self , instance ):
147+ # check for a source fn defined on the serializer instead of the model
148+ if self .source and hasattr (self .parent , self .source ):
149+ serializer_method = getattr (self .parent , self .source )
150+ if hasattr (serializer_method , '__call__' ):
151+ return serializer_method (instance )
152+ return super (ResourceRelatedField , self ).get_attribute (instance )
0 commit comments