diff options
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/models.py | 6 |
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 |
