summaryrefslogtreecommitdiff
path: root/django/newforms/fields.py
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2007-01-21 05:14:50 +0000
committerAdrian Holovaty <adrian@holovaty.com>2007-01-21 05:14:50 +0000
commit549985bcba3474f497114d5eec803edcd18b342f (patch)
treeb878903becc3986c6eb36998580db9fb1ae93532 /django/newforms/fields.py
parent9fb548fdcd7af8fdbfca233a4d6938a724521e36 (diff)
newforms-admin: Merged to [4379]
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@4380 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/newforms/fields.py')
-rw-r--r--django/newforms/fields.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/django/newforms/fields.py b/django/newforms/fields.py
index 2370d964a5..3ba4f77c22 100644
--- a/django/newforms/fields.py
+++ b/django/newforms/fields.py
@@ -319,10 +319,20 @@ class BooleanField(Field):
class ChoiceField(Field):
def __init__(self, choices=(), required=True, widget=Select, label=None, initial=None):
if isinstance(widget, type):
- widget = widget(choices=choices)
+ widget = widget()
super(ChoiceField, self).__init__(required, widget, label, initial)
self.choices = choices
+ def _get_choices(self):
+ return self._choices
+
+ def _set_choices(self, value):
+ # Setting choices also sets the choices on the widget.
+ self._choices = value
+ self.widget.choices = value
+
+ choices = property(_get_choices, _set_choices)
+
def clean(self, value):
"""
Validates that the input is in self.choices.