diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 2c88071fd..1ca1a03ec 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -491,11 +491,11 @@ class ManyRelatedField(Field): self.fail('not_a_list', input_type=type(data).__name__) if not self.allow_empty and len(data) == 0: self.fail('empty') - + if isinstance(self.child_relation, PrimaryKeyRelatedField): values = list(self.child_relation.get_queryset().filter(pk__in=data)) missing_primary_keys = set(v.pk for v in values) - set(data) - + if missing_primary_keys: self.fail('missing_ids', ids_not_found=list(missing_primary_keys)) else: