Skip to content

Commit c6a7765

Browse files
committed
Get field name from serializer class
1 parent 7677042 commit c6a7765

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

rest_framework_json_api/views.py

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

111110
def retrieve_related(self, request, *args, **kwargs):
112111
serializer_kwargs = {}
@@ -138,8 +137,12 @@ def get_serializer_class(self):
138137

139138
def get_related_field_name(self):
140139
field_name = self.kwargs['related_field']
141-
if field_name in self.field_name_mapping:
142-
return self.field_name_mapping[field_name]
140+
# Making sure we're getting correct model field/property/method name
141+
try:
142+
return self.serializer_class().fields[field_name].source
143+
except KeyError:
144+
# Looks like the field was not declared on the serializer
145+
pass
143146
return field_name
144147

145148
def get_related_instance(self):

0 commit comments

Comments
 (0)