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
-~----------~----~----~----~------~----~------~--~---