diff options
| author | Brian Rosner <brosner@gmail.com> | 2009-10-30 09:12:52 +0000 |
|---|---|---|
| committer | Brian Rosner <brosner@gmail.com> | 2009-10-30 09:12:52 +0000 |
| commit | 53275a4775ac22934170312aa2e3c7f0b1e4c4e7 (patch) | |
| tree | 883945241861a1053380cad8324e49d25e26404c | |
| parent | a429943467b2125d29e672150002d3d6cfd7a751 (diff) | |
[1.1.X] Fixed #11872 -- Instantiate the correct model in BaseInlineFormSet.__init__ when instance is None. Thanks tobias.
Backport of [11688] from trunk
git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@11689 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/forms/models.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/model_formsets_regress/tests.py | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/django/forms/models.py b/django/forms/models.py index cc43612bf5..eca0259878 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -709,7 +709,7 @@ class BaseInlineFormSet(BaseModelFormSet): save_as_new=False, prefix=None): from django.db.models.fields.related import RelatedObject if instance is None: - self.instance = self.model() + self.instance = self.fk.rel.to() else: self.instance = instance self.save_as_new = save_as_new diff --git a/tests/regressiontests/model_formsets_regress/tests.py b/tests/regressiontests/model_formsets_regress/tests.py index f5e9355e42..4dba9fc19f 100644 --- a/tests/regressiontests/model_formsets_regress/tests.py +++ b/tests/regressiontests/model_formsets_regress/tests.py @@ -140,3 +140,13 @@ class InlineFormsetTests(TestCase): self.assertEqual(manager[1]['name'], 'Terry Gilliam') else: self.fail('Errors found on formset:%s' % form_set.errors) + + def test_formset_with_none_instance(self): + "A formset with instance=None can be created. Regression for #11872" + Form = modelform_factory(User) + FormSet = inlineformset_factory(User, UserSite) + + # Instantiate the Form and FormSet to prove + # you can create a formset with an instance of None + form = Form(instance=None) + formset = FormSet(instance=None) |
