summaryrefslogtreecommitdiff
path: root/django/forms/widgets.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/forms/widgets.py')
-rw-r--r--django/forms/widgets.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index 4f4d912c04..748c94f7e3 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -25,7 +25,8 @@ __all__ = (
'HiddenInput', 'MultipleHiddenInput',
'FileInput', 'DateTimeInput', 'TimeInput', 'Textarea', 'CheckboxInput',
'Select', 'NullBooleanSelect', 'SelectMultiple', 'RadioSelect',
- 'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget',
+ 'CheckboxSelectMultiple', 'MultiWidget',
+ 'SplitDateTimeWidget',
)
MEDIA_TYPES = ('css','js')
@@ -617,7 +618,8 @@ class MultiWidget(Widget):
if initial is None:
initial = [u'' for x in range(0, len(data))]
else:
- initial = self.decompress(initial)
+ if not isinstance(initial, list):
+ initial = self.decompress(initial)
for widget, initial, data in zip(self.widgets, initial, data):
if widget._has_changed(initial, data):
return True
@@ -662,3 +664,11 @@ class SplitDateTimeWidget(MultiWidget):
return [value.date(), value.time().replace(microsecond=0)]
return [None, None]
+class SplitHiddenDateTimeWidget(SplitDateTimeWidget):
+ """
+ A Widget that splits datetime input into two <input type="hidden"> inputs.
+ """
+ def __init__(self, attrs=None):
+ widgets = (HiddenInput(attrs=attrs), HiddenInput(attrs=attrs))
+ super(SplitDateTimeWidget, self).__init__(widgets, attrs)
+ \ No newline at end of file