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
This commit is contained in:
parent
943c28a4c6
commit
3dd69a965b
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue