Using model InlineFormset created with inlineformset_factory fails with KeyError
|Reported by:||Thomas Presthus <thomas@…>||Owned by:||nobody|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The following code would fail with KeyError 'user' at django/forms/models.py in add_fields, line 507
from django.contrib.auth.models import User from foo.models import InfoEntry user = User.objects.get(pk=1) InfoEntryFormset = inlineformset_factory(User, InfoEntry) formset = InfoEntryFormset(instance=user)
It seems BaseInlineFormSet tries to access form.fields[self.fk.name] before it is created.
Attached is a patch against r9885 fixing this, but should probably be better investigated.
Change History (3)
Changed 7 years ago by Thomas Presthus <thomas@…>
comment:1 Changed 7 years ago by Thomas Presthus <thomas@…>
- Cc thomas@… added
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset