@@ -413,13 +413,14 @@ def extract_included(fields, resource, resource_instance, included_resources):
413
413
if not isinstance (field , (RelatedField , ManyRelatedField , BaseSerializer )):
414
414
continue
415
415
416
- if field_name not in included_resources :
416
+ try :
417
+ included_resources .remove (field_name )
418
+ new_included_resources = [key .replace ('%s.' % field_name , '' , 1 ) for key in included_resources ]
419
+ relation_instance_or_manager = getattr (resource_instance , field_name )
420
+ serializer_data = resource .get (field_name )
421
+ except ValueError :
417
422
# Skip fields not in requested included resources
418
423
continue
419
-
420
- new_included_resources = [key .replace ('%s.' % field_name , '' , 1 ) for key in included_resources ]
421
- relation_instance_or_manager = getattr (resource_instance , field_name )
422
- serializer_data = resource .get (field_name )
423
424
424
425
if isinstance (field , ManyRelatedField ):
425
426
serializer_class = included_serializers .get (field_name )
0 commit comments