diff options
| author | Tim Graham <timograham@gmail.com> | 2014-07-08 15:58:14 -0400 |
|---|---|---|
| committer | Ramiro Morales <cramm0@gmail.com> | 2014-07-14 12:39:19 -0300 |
| commit | 685582940bf4dfb5caf09bd8a73e6f74745190a8 (patch) | |
| tree | 2c83dbfd87e84d0d938d648820b4358f23989b90 /django/forms | |
| parent | a823a749754dfd16069857aa5a0429a6413398b8 (diff) | |
[1.6.x] Fixed #13794 -- Fixed to_field usage in BaseInlineFormSet.
Thanks sebastien at clarisys.fr for the report and gautier
for the patch.
Backport of 5e2c4a4bd1 from master
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 |
