Author: mtredinnick
Date: 2008-09-27 00:57:10 -0500 (Sat, 27 Sep 2008)
New Revision: 9086

Modified:
   django/trunk/django/contrib/admin/options.py
   django/trunk/django/forms/models.py
   django/trunk/tests/regressiontests/inline_formsets/models.py
   django/trunk/tests/regressiontests/modeladmin/models.py
Log:
Fixed #9171 -- Fixed a few places where we were assuming lists instead of
generic sequences in ModelForm structures. Patch from mrmachine.


Modified: django/trunk/django/contrib/admin/options.py
===================================================================
--- django/trunk/django/contrib/admin/options.py        2008-09-27 03:25:42 UTC 
(rev 9085)
+++ django/trunk/django/contrib/admin/options.py        2008-09-27 05:57:10 UTC 
(rev 9086)
@@ -266,7 +266,7 @@
         if self.exclude is None:
             exclude = []
         else:
-            exclude = self.exclude
+            exclude = list(self.exclude)
         defaults = {
             "form": self.form,
             "fields": fields,
@@ -780,7 +780,7 @@
         if self.exclude is None:
             exclude = []
         else:
-            exclude = self.exclude
+            exclude = list(self.exclude)
         defaults = {
             "form": self.form,
             "formset": self.formset,

Modified: django/trunk/django/forms/models.py
===================================================================
--- django/trunk/django/forms/models.py 2008-09-27 03:25:42 UTC (rev 9085)
+++ django/trunk/django/forms/models.py 2008-09-27 05:57:10 UTC (rev 9086)
@@ -528,6 +528,7 @@
     if fk.unique:
         max_num = 1
     if exclude is not None:
+        exclude = list(exclude)
         exclude.append(fk.name)
     else:
         exclude = [fk.name]

Modified: django/trunk/tests/regressiontests/inline_formsets/models.py
===================================================================
--- django/trunk/tests/regressiontests/inline_formsets/models.py        
2008-09-27 03:25:42 UTC (rev 9085)
+++ django/trunk/tests/regressiontests/inline_formsets/models.py        
2008-09-27 05:57:10 UTC (rev 9086)
@@ -51,5 +51,7 @@
 Exception: <class 'regressiontests.inline_formsets.models.Child'> has no field 
named 'test'
 
 
+# Regression test for #9171.
+>>> ifs = inlineformset_factory(Parent, Child, exclude=('school',), 
fk_name='mother')
 """
 }

Modified: django/trunk/tests/regressiontests/modeladmin/models.py
===================================================================
--- django/trunk/tests/regressiontests/modeladmin/models.py     2008-09-27 
03:25:42 UTC (rev 9085)
+++ django/trunk/tests/regressiontests/modeladmin/models.py     2008-09-27 
05:57:10 UTC (rev 9086)
@@ -123,7 +123,15 @@
 >>> ma = BandAdmin(Band, site) 
 >>> ma.get_form(request).base_fields.keys() 
 ['name', 'sign_date']
+
+# You can also pass a tuple to `exclude`.
  
+>>> class BandAdmin(ModelAdmin): 
+...     exclude = ('bio',) 
+>>> ma = BandAdmin(Band, site) 
+>>> ma.get_form(request).base_fields.keys() 
+['name', 'sign_date']
+ 
 # Using `fields` and `exclude`.
 
 >>> class BandAdmin(ModelAdmin): 


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

Reply via email to