From 3dd69a965b467a3085079a3628b18310a10f0261 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Sat, 23 Aug 2008 17:26:00 +0000 Subject: [PATCH] Fixed #7244 -- Allow widget overriding in subclasses for ModelChoiceField, ModelMultipleChoiceField and FilePathField. Patch from Sebastian Noack and Colin Grady. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8489 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/forms/fields.py | 2 +- django/forms/models.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/django/forms/fields.py b/django/forms/fields.py index 06feb65f30..5537cf66f9 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -773,7 +773,7 @@ class MultiValueField(Field): class FilePathField(ChoiceField): def __init__(self, path, match=None, recursive=False, required=True, - widget=Select, label=None, initial=None, help_text=None, + widget=None, label=None, initial=None, help_text=None, *args, **kwargs): self.path, self.match, self.recursive = path, match, recursive super(FilePathField, self).__init__(choices=(), required=required, diff --git a/django/forms/models.py b/django/forms/models.py index 193dabef7d..d2e4f574ad 100644 --- a/django/forms/models.py +++ b/django/forms/models.py @@ -463,7 +463,7 @@ class ModelChoiceField(ChoiceField): } def __init__(self, queryset, empty_label=u"---------", cache_choices=False, - required=True, widget=Select, label=None, initial=None, + required=True, widget=None, label=None, initial=None, help_text=None, *args, **kwargs): self.empty_label = empty_label self.cache_choices = cache_choices @@ -523,6 +523,7 @@ class ModelChoiceField(ChoiceField): class ModelMultipleChoiceField(ModelChoiceField): """A MultipleChoiceField whose choices are a model QuerySet.""" + widget = SelectMultiple hidden_widget = MultipleHiddenInput default_error_messages = { 'list': _(u'Enter a list of values.'), @@ -531,7 +532,7 @@ class ModelMultipleChoiceField(ModelChoiceField): } def __init__(self, queryset, cache_choices=False, required=True, - widget=SelectMultiple, label=None, initial=None, + widget=None, label=None, initial=None, help_text=None, *args, **kwargs): super(ModelMultipleChoiceField, self).__init__(queryset, None, cache_choices, required, widget, label, initial, help_text,