Author: brosner
Date: 2009-10-30 04:12:52 -0500 (Fri, 30 Oct 2009)
New Revision: 11689

Modified:
   django/branches/releases/1.1.X/django/forms/models.py
   
django/branches/releases/1.1.X/tests/regressiontests/model_formsets_regress/tests.py
Log:
[1.1.X] Fixed #11872 -- Instantiate the correct model in 
BaseInlineFormSet.__init__ when instance is None. Thanks tobias.

Backport of [11688] from trunk

Modified: django/branches/releases/1.1.X/django/forms/models.py
===================================================================
--- django/branches/releases/1.1.X/django/forms/models.py       2009-10-30 
09:11:56 UTC (rev 11688)
+++ django/branches/releases/1.1.X/django/forms/models.py       2009-10-30 
09:12:52 UTC (rev 11689)
@@ -709,7 +709,7 @@
                  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

Modified: 
django/branches/releases/1.1.X/tests/regressiontests/model_formsets_regress/tests.py
===================================================================
--- 
django/branches/releases/1.1.X/tests/regressiontests/model_formsets_regress/tests.py
        2009-10-30 09:11:56 UTC (rev 11688)
+++ 
django/branches/releases/1.1.X/tests/regressiontests/model_formsets_regress/tests.py
        2009-10-30 09:12:52 UTC (rev 11689)
@@ -140,3 +140,13 @@
             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)


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to