@@ -105,8 +105,6 @@ class RelatedMixin(object):
105105 """
106106 This mixin handles all related entities, whose Serializers are declared in "related_serializers"
107107 """
108- related_serializers = {}
109- related_field_mapping = {}
110108
111109 def retrieve_related (self , request , * args , ** kwargs ):
112110 serializer_kwargs = {}
@@ -133,29 +131,27 @@ def get_serializer_class(self):
133131 if 'related_field' in self .kwargs :
134132 field_name = self .kwargs ['related_field' ]
135133
136- assert hasattr (parent_serializer_class , 'included_serializers' )\
137- or self .related_serializers ,\
138- 'Either "included_serializers" or ' \
139- '"related_serializers" should be configured'
140-
141134 # Try get the class from related_serializers
142- class_str = self .related_serializers .get (field_name , None )
143-
144- if class_str is None :
145- # Class was not found in related_serializers, look for it in included_serializers
146- class_str = getattr (self , 'included_serializers' , {}).get (field_name , None )
135+ if hasattr (parent_serializer_class , 'related_serializers' ):
136+ class_str = parent_serializer_class .related_serializers .get (field_name , None )
137+ if class_str is None :
138+ raise NotFound
147139
140+ elif hasattr (parent_serializer_class , 'included_serializers' ):
141+ class_str = parent_serializer_class .included_serializers .get (field_name , None )
148142 if class_str is None :
149143 raise NotFound
144+
145+ else :
146+ assert False , \
147+ 'Either "included_serializers" or "related_serializers" should be configured'
148+
150149 return import_class_from_dotted_path (class_str )
151150
152151 return parent_serializer_class
153152
154153 def get_related_field_name (self ):
155- field_name = self .kwargs ['related_field' ]
156- if field_name in self .related_field_mapping :
157- return self .related_field_mapping [field_name ]
158- return field_name
154+ return self .kwargs ['related_field' ]
159155
160156 def get_related_instance (self ):
161157 parent_obj = self .get_object ()
0 commit comments