diff options
| author | Marcin Nowak <marcin.j.nowak@gmail.com> | 2016-07-18 20:04:35 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-08-09 19:46:24 -0400 |
| commit | 74bb013cc1edb0f2fcf24c750d4d942cae507765 (patch) | |
| tree | 34191bb0886280b0192044afcc8079666acb379c /django/forms | |
| parent | 2b759c94c562c9ee9b6ca970739be15014050fda (diff) | |
Fixed #26905 -- Allowed using MultiValueDict-like objects as form data.
Diffstat (limited to 'django/forms')
| -rw-r--r-- | django/forms/widgets.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 224bd3de4d..13d22672bf 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -13,7 +13,6 @@ from django.conf import settings from django.forms.utils import flatatt, to_current_timezone from django.templatetags.static import static from django.utils import datetime_safe, formats, six -from django.utils.datastructures import MultiValueDict from django.utils.dates import MONTHS from django.utils.deprecation import ( RemovedInDjango20Warning, RenameMethodsBase, @@ -331,9 +330,11 @@ class MultipleHiddenInput(HiddenInput): return mark_safe('\n'.join(inputs)) def value_from_datadict(self, data, files, name): - if isinstance(data, MultiValueDict): - return data.getlist(name) - return data.get(name) + try: + getter = data.getlist + except AttributeError: + getter = data.get + return getter(name) class FileInput(Input): @@ -602,9 +603,11 @@ class SelectMultiple(Select): return mark_safe('\n'.join(output)) def value_from_datadict(self, data, files, name): - if isinstance(data, MultiValueDict): - return data.getlist(name) - return data.get(name) + try: + getter = data.getlist + except AttributeError: + getter = data.get + return getter(name) @html_safe |
