summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/models.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/django/forms/models.py b/django/forms/models.py
index 4e92e0ec42..bf28d95414 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -855,7 +855,11 @@ class BaseInlineFormSet(BaseModelFormSet):
form.data[form.add_prefix(self.fk.name)] = None
# Set the fk value here so that the form can do its validation.
- setattr(form.instance, self.fk.get_attname(), self.instance.pk)
+ fk_value = self.instance.pk
+ if self.fk.rel.field_name != self.fk.rel.to._meta.pk.name:
+ fk_value = getattr(self.instance, self.fk.rel.field_name)
+ fk_value = getattr(fk_value, 'pk', fk_value)
+ setattr(form.instance, self.fk.get_attname(), fk_value)
return form
@classmethod