From 15d5c3decb79c8a1af7131b8e53d12181c790e2f Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sat, 21 Apr 2007 05:43:32 +0000 Subject: [PATCH] Fixed #3821 -- Added a widget class attribute to ChoiceField and MultipleChoiceField. This makes them consistent with other field classes and make subclassing easier. This is a backwards compatible change. Thanks, Max Dekachev. git-svn-id: http://code.djangoproject.com/svn/django/trunk@5053 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- AUTHORS | 1 + django/newforms/fields.py | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/AUTHORS b/AUTHORS index cf5ce947d6..35f865c962 100644 --- a/AUTHORS +++ b/AUTHORS @@ -78,6 +78,7 @@ answer newbie questions, and generally made Django that much better: Jason Davies (Esaj) Alex Dedul deric@monowerks.com + Max Derkachev dne@mayonnaise.net Maximillian Dornseif Jeremy Dunck diff --git a/django/newforms/fields.py b/django/newforms/fields.py index c3b74e93f7..7c542b9001 100644 --- a/django/newforms/fields.py +++ b/django/newforms/fields.py @@ -332,7 +332,9 @@ class NullBooleanField(BooleanField): return {True: True, False: False}.get(value, None) class ChoiceField(Field): - def __init__(self, choices=(), required=True, widget=Select, label=None, initial=None, help_text=None): + widget = Select + + def __init__(self, choices=(), required=True, widget=None, label=None, initial=None, help_text=None): super(ChoiceField, self).__init__(required, widget, label, initial, help_text) self.choices = choices @@ -364,9 +366,7 @@ class ChoiceField(Field): class MultipleChoiceField(ChoiceField): hidden_widget = MultipleHiddenInput - - def __init__(self, choices=(), required=True, widget=SelectMultiple, label=None, initial=None, help_text=None): - super(MultipleChoiceField, self).__init__(choices, required, widget, label, initial, help_text) + widget = SelectMultiple def clean(self, value): """