summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2009-03-31 00:03:34 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2009-03-31 00:03:34 +0000
commit62353e8fe74b37d60841696846f985e45e8b03bf (patch)
treedd181321808b2f5ecf6161d42eda2237a0f7af87 /django
parent5c9d54344c61e72894054661d14bcc09f65b6786 (diff)
Fixed #9863. A ForeignKey with editable=False to the parent in an inline no longer raises an exception. Thanks to keithb for the test case and Alex Gaynor for the patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10239 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-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 32a85c5609..70f0631e2c 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -545,7 +545,11 @@ class BaseInlineFormSet(BaseModelFormSet):
if self._pk_field == self.fk:
form.fields[self._pk_field.name] = InlineForeignKeyField(self.instance, pk_field=True)
else:
- form.fields[self.fk.name] = InlineForeignKeyField(self.instance, label=form.fields[self.fk.name].label)
+ # The foreign key field might not be on the form, so we poke at the
+ # Model field to get the label, since we need that for error messages.
+ form.fields[self.fk.name] = InlineForeignKeyField(self.instance,
+ label=getattr(form.fields.get(self.fk.name), 'label', capfirst(self.fk.verbose_name))
+ )
def _get_foreign_key(parent_model, model, fk_name=None):
"""