Skip to content

Commit 7ac3c3f

Browse files
committed
Added enhancement for pk reference in many=True relations
1 parent 8a58b1a commit 7ac3c3f

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

rest_framework/relations.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ def __init__(self, child_relation=None, *args, **kwargs):
341341
assert child_relation is not None, '`child_relation` is a required argument.'
342342
super(ManyRelatedField, self).__init__(*args, **kwargs)
343343
self.child_relation.bind(field_name='', parent=self)
344+
self.id_field = kwargs.pop('id_field', 'pk')
344345

345346
def get_value(self, dictionary):
346347
# We override the default field access in order to support
@@ -362,7 +363,7 @@ def to_internal_value(self, data):
362363

363364
def get_attribute(self, instance):
364365
# Can't have any relationships if not created
365-
if not instance.pk:
366+
if getattr(instance, self.id_field) is None:
366367
return []
367368

368369
relationship = get_attribute(instance, self.source_attrs)

0 commit comments

Comments
 (0)