2
0
Эх сурвалжийг харах

Removed support for SplitDateTimeWidget with DateTimeField per deprecation timeline.

refs #8898
Tim Graham 10 жил өмнө
parent
commit
714277cb4c

+ 0 - 12
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)
 

+ 0 - 6
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 <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``
 ~~~~~~~~~~~~~~~~
 

+ 2 - 22
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):