can't pass instance=None to inline formset
|Reported by:||Tobias McNulty||Owned by:||Brian Rosner|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
If you try to pass instance=None to a new unbound formset you get an exception:
Traceback (most recent call last): File "/home/tobias/caktus/eclipse-workspace/django-trunk/tests/regressiontests/model_formsets_regress/tests.py", line 152, in test_formset_with_none_instance form_set = FormSet(instance=None) File "../django/forms/models.py", line 721, in __init__ backlink_value = getattr(self.instance, self.fk.rel.field_name) AttributeError: 'UserSite' object has no attribute 'username'
because the formset is trying to instantiate the wrong type of model in place of the None instance.
A quick one-line change fixes the problem. Attached is a patch with a test demonstrating the problem and the proposed solution.
Change History (4)
comment:1 Changed 7 years ago by
|Owner:||changed from nobody to Brian Rosner|
|Patch needs improvement:||unset|
|Triage Stage:||Unreviewed → Accepted|