Skip to content

Commit cf7693b

Browse files
committed
Fixed issue where the wrong type was returned for HyperlinkedRouterField
1 parent 47933b0 commit cf7693b

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

rest_framework_json_api/utils.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,8 @@ def build_json_resource_obj(fields, resource, resource_name):
144144

145145

146146
def get_related_resource_type(relation):
147-
queryset = relation.queryset
148-
if queryset is not None:
149-
relation_model = queryset.model
147+
if hasattr(relation, 'get_queryset') and relation.get_queryset() is not None:
148+
relation_model = relation.get_queryset().model
150149
else:
151150
parent_serializer = relation.parent
152151
if hasattr(parent_serializer, 'Meta'):
@@ -217,7 +216,7 @@ def extract_relationships(fields, resource):
217216
if isinstance(field, HyperlinkedRouterField):
218217
# special case for HyperlinkedRouterField
219218
relation_data = list()
220-
relation_type = get_related_resource_type(field)
219+
relation_type = get_related_resource_type(getattr(field.parent.instance, field_name))
221220
parent_instance = field.parent.instance
222221
related = getattr(parent_instance, field_name).all() if hasattr(parent_instance, field_name) else list()
223222
for relation in related:

0 commit comments

Comments
 (0)