@@ -105,8 +105,6 @@ class RelatedMixin(object):
105
105
"""
106
106
This mixin handles all related entities, whose Serializers are declared in "related_serializers"
107
107
"""
108
- related_serializers = {}
109
- related_field_mapping = {}
110
108
111
109
def retrieve_related (self , request , * args , ** kwargs ):
112
110
serializer_kwargs = {}
@@ -133,29 +131,27 @@ def get_serializer_class(self):
133
131
if 'related_field' in self .kwargs :
134
132
field_name = self .kwargs ['related_field' ]
135
133
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
-
141
134
# 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
147
139
140
+ elif hasattr (parent_serializer_class , 'included_serializers' ):
141
+ class_str = parent_serializer_class .included_serializers .get (field_name , None )
148
142
if class_str is None :
149
143
raise NotFound
144
+
145
+ else :
146
+ assert False , \
147
+ 'Either "included_serializers" or "related_serializers" should be configured'
148
+
150
149
return import_class_from_dotted_path (class_str )
151
150
152
151
return parent_serializer_class
153
152
154
153
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' ]
159
155
160
156
def get_related_instance (self ):
161
157
parent_obj = self .get_object ()
0 commit comments