Skip to content

Commit 9e78e67

Browse files
committed
Use mapping for field name resolving
1 parent bde21ec commit 9e78e67

File tree

1 file changed

+3
-6
lines changed

1 file changed

+3
-6
lines changed

rest_framework_json_api/views.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ class RelatedMixin(object):
106106
This mixin handles all related entities, whose Serializers are declared in "related_serializers"
107107
"""
108108
related_serializers = {}
109+
related_field_mapping = {}
109110

110111
def retrieve_related(self, request, *args, **kwargs):
111112
serializer_kwargs = {}
@@ -137,12 +138,8 @@ def get_serializer_class(self):
137138

138139
def get_related_field_name(self):
139140
field_name = self.kwargs['related_field']
140-
# Making sure we're getting correct model field/property/method name
141-
try:
142-
return super(RelatedMixin, self).get_serializer_class()().fields[field_name].source
143-
except KeyError:
144-
# Looks like the field was not declared on the serializer
145-
pass
141+
if field_name in self.related_field_mapping:
142+
return self.related_field_mapping[field_name]
146143
return field_name
147144

148145
def get_related_instance(self):

0 commit comments

Comments
 (0)