Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9c0819d

Browse files
Make HyperLinkedOnly field includable
1 parent 4290b1b commit 9c0819d

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

‎rest_framework_json_api/renderers.py‎

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -301,15 +301,20 @@ def extract_relation_instance(cls, field, resource_instance):
301301
Determines what instance represents given relation and extracts it.
302302
303303
Relation instance is determined exactly same way as it determined
304-
in parent serializer
304+
in parent serializer, but if it is "skipped" on the serializer
305+
it still should be returned via include
305306
"""
306-
try:
307-
res = field.get_attribute(resource_instance)
308-
if isinstance(res, PKOnlyObject):
309-
return get_attribute(resource_instance, field.source_attrs)
310-
return res
311-
except SkipField:
312-
return None
307+
if isinstance(field, SkipDataMixin):
308+
res = super(SkipDataMixin, field).get_attribute(resource_instance)
309+
else:
310+
try:
311+
res = field.get_attribute(resource_instance)
312+
except SkipField:
313+
res = None
314+
315+
if isinstance(res, PKOnlyObject):
316+
return get_attribute(resource_instance, field.source_attrs)
317+
return res
313318

314319
@classmethod
315320
def extract_included(cls, fields, resource, resource_instance, included_resources,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /