diff --git a/django/forms/fields.py b/django/forms/fields.py index 891d8ccd6e..ff8d9d826a 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -501,18 +501,6 @@ class DateTimeField(BaseTemporalField): if isinstance(value, datetime.date): result = datetime.datetime(value.year, value.month, value.day) 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) return from_current_timezone(result) diff --git a/docs/ref/forms/fields.txt b/docs/ref/forms/fields.txt index b63826d9b1..eee3f9f9b8 100644 --- a/docs/ref/forms/fields.txt +++ b/docs/ref/forms/fields.txt @@ -502,12 +502,6 @@ For each field, we describe the default widget used if you don't specify See also :ref:`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`` ~~~~~~~~~~~~~~~~ diff --git a/tests/forms_tests/tests/test_widgets.py b/tests/forms_tests/tests/test_widgets.py index 5742daf32f..efaefe1180 100644 --- a/tests/forms_tests/tests/test_widgets.py +++ b/tests/forms_tests/tests/test_widgets.py @@ -9,17 +9,16 @@ from django.core.files.uploadedfile import SimpleUploadedFile from django.core.urlresolvers import reverse from django.forms import ( BooleanField, CheckboxInput, CheckboxSelectMultiple, ChoiceField, - ClearableFileInput, DateInput, DateTimeField, DateTimeInput, FileInput, + ClearableFileInput, DateInput, DateTimeInput, FileInput, Form, HiddenInput, MultipleHiddenInput, MultiWidget, NullBooleanSelect, PasswordInput, RadioSelect, Select, SelectMultiple, SplitDateTimeWidget, Textarea, TextInput, TimeInput, ) from django.forms.widgets import RadioFieldRenderer -from django.utils.deprecation import RemovedInDjango19Warning from django.utils.safestring import mark_safe, SafeData from django.utils import six 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 ..models import Article @@ -1111,25 +1110,6 @@ class WidgetTests(TestCase): # to make a copy of its sub-widgets when it is copied. 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') class LiveWidgetTests(AdminSeleniumWebDriverTestCase):