mirror of https://github.com/django/django.git
Removed support for SplitDateTimeWidget with DateTimeField per deprecation timeline.
refs #8898
This commit is contained in:
parent
2c9e95639e
commit
714277cb4c
|
@ -501,18 +501,6 @@ class DateTimeField(BaseTemporalField):
|
||||||
if isinstance(value, datetime.date):
|
if isinstance(value, datetime.date):
|
||||||
result = datetime.datetime(value.year, value.month, value.day)
|
result = datetime.datetime(value.year, value.month, value.day)
|
||||||
return from_current_timezone(result)
|
return from_current_timezone(result)
|
||||||
if isinstance(value, list):
|
|
||||||
# Input comes from a SplitDateTimeWidget, for example. So, it's two
|
|
||||||
# components: date and time.
|
|
||||||
warnings.warn(
|
|
||||||
'Using SplitDateTimeWidget with DateTimeField is deprecated. '
|
|
||||||
'Use SplitDateTimeField instead.',
|
|
||||||
RemovedInDjango19Warning, stacklevel=2)
|
|
||||||
if len(value) != 2:
|
|
||||||
raise ValidationError(self.error_messages['invalid'], code='invalid')
|
|
||||||
if value[0] in self.empty_values and value[1] in self.empty_values:
|
|
||||||
return None
|
|
||||||
value = '%s %s' % tuple(value)
|
|
||||||
result = super(DateTimeField, self).to_python(value)
|
result = super(DateTimeField, self).to_python(value)
|
||||||
return from_current_timezone(result)
|
return from_current_timezone(result)
|
||||||
|
|
||||||
|
|
|
@ -502,12 +502,6 @@ For each field, we describe the default widget used if you don't specify
|
||||||
|
|
||||||
See also :ref:`format localization <format-localization>`.
|
See also :ref:`format localization <format-localization>`.
|
||||||
|
|
||||||
.. deprecated:: 1.7
|
|
||||||
|
|
||||||
The ability to use :class:`SplitDateTimeWidget` with ``DateTimeField``
|
|
||||||
has been deprecated and will be removed in Django 1.9. Use
|
|
||||||
:class:`SplitDateTimeField` instead.
|
|
||||||
|
|
||||||
``DecimalField``
|
``DecimalField``
|
||||||
~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -9,17 +9,16 @@ from django.core.files.uploadedfile import SimpleUploadedFile
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.forms import (
|
from django.forms import (
|
||||||
BooleanField, CheckboxInput, CheckboxSelectMultiple, ChoiceField,
|
BooleanField, CheckboxInput, CheckboxSelectMultiple, ChoiceField,
|
||||||
ClearableFileInput, DateInput, DateTimeField, DateTimeInput, FileInput,
|
ClearableFileInput, DateInput, DateTimeInput, FileInput,
|
||||||
Form, HiddenInput, MultipleHiddenInput, MultiWidget, NullBooleanSelect,
|
Form, HiddenInput, MultipleHiddenInput, MultiWidget, NullBooleanSelect,
|
||||||
PasswordInput, RadioSelect, Select, SelectMultiple, SplitDateTimeWidget,
|
PasswordInput, RadioSelect, Select, SelectMultiple, SplitDateTimeWidget,
|
||||||
Textarea, TextInput, TimeInput,
|
Textarea, TextInput, TimeInput,
|
||||||
)
|
)
|
||||||
from django.forms.widgets import RadioFieldRenderer
|
from django.forms.widgets import RadioFieldRenderer
|
||||||
from django.utils.deprecation import RemovedInDjango19Warning
|
|
||||||
from django.utils.safestring import mark_safe, SafeData
|
from django.utils.safestring import mark_safe, SafeData
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils.translation import activate, deactivate, override
|
from django.utils.translation import activate, deactivate, override
|
||||||
from django.test import TestCase, ignore_warnings, override_settings
|
from django.test import TestCase, override_settings
|
||||||
from django.utils.encoding import python_2_unicode_compatible, force_text
|
from django.utils.encoding import python_2_unicode_compatible, force_text
|
||||||
|
|
||||||
from ..models import Article
|
from ..models import Article
|
||||||
|
@ -1111,25 +1110,6 @@ class WidgetTests(TestCase):
|
||||||
# to make a copy of its sub-widgets when it is copied.
|
# to make a copy of its sub-widgets when it is copied.
|
||||||
self.assertEqual(w1.choices, [1, 2, 3])
|
self.assertEqual(w1.choices, [1, 2, 3])
|
||||||
|
|
||||||
@ignore_warnings(category=RemovedInDjango19Warning)
|
|
||||||
def test_13390(self):
|
|
||||||
# See ticket #13390
|
|
||||||
class SplitDateForm(Form):
|
|
||||||
field = DateTimeField(widget=SplitDateTimeWidget, required=False)
|
|
||||||
|
|
||||||
form = SplitDateForm({'field': ''})
|
|
||||||
self.assertTrue(form.is_valid())
|
|
||||||
form = SplitDateForm({'field': ['', '']})
|
|
||||||
self.assertTrue(form.is_valid())
|
|
||||||
|
|
||||||
class SplitDateRequiredForm(Form):
|
|
||||||
field = DateTimeField(widget=SplitDateTimeWidget, required=True)
|
|
||||||
|
|
||||||
form = SplitDateRequiredForm({'field': ''})
|
|
||||||
self.assertFalse(form.is_valid())
|
|
||||||
form = SplitDateRequiredForm({'field': ['', '']})
|
|
||||||
self.assertFalse(form.is_valid())
|
|
||||||
|
|
||||||
|
|
||||||
@override_settings(ROOT_URLCONF='forms_tests.urls')
|
@override_settings(ROOT_URLCONF='forms_tests.urls')
|
||||||
class LiveWidgetTests(AdminSeleniumWebDriverTestCase):
|
class LiveWidgetTests(AdminSeleniumWebDriverTestCase):
|
||||||
|
|
Loading…
Reference in New Issue