Loading django/db/models/fields/__init__.py +5 −2 Original line number Diff line number Diff line Loading @@ -2141,12 +2141,15 @@ class TextField(Field): def get_internal_type(self): return "TextField" def get_prep_value(self, value): value = super(TextField, self).get_prep_value(value) def to_python(self, value): if isinstance(value, six.string_types) or value is None: return value return smart_text(value) def get_prep_value(self, value): value = super(TextField, self).get_prep_value(value) return self.to_python(value) def formfield(self, **kwargs): # Passing max_length to forms.CharField means that the value's length # will be validated twice. This is considered acceptable since we want Loading tests/model_fields/tests.py +7 −0 Original line number Diff line number Diff line Loading @@ -246,6 +246,13 @@ class ManyToManyFieldTests(test.SimpleTestCase): ) class TextFieldTests(test.TestCase): def test_to_python(self): """TextField.to_python() should return a string""" f = models.TextField() self.assertEqual(f.to_python(1), '1') class DateTimeFieldTests(test.TestCase): def test_datetimefield_to_python_usecs(self): """DateTimeField.to_python should support usecs""" Loading Loading
django/db/models/fields/__init__.py +5 −2 Original line number Diff line number Diff line Loading @@ -2141,12 +2141,15 @@ class TextField(Field): def get_internal_type(self): return "TextField" def get_prep_value(self, value): value = super(TextField, self).get_prep_value(value) def to_python(self, value): if isinstance(value, six.string_types) or value is None: return value return smart_text(value) def get_prep_value(self, value): value = super(TextField, self).get_prep_value(value) return self.to_python(value) def formfield(self, **kwargs): # Passing max_length to forms.CharField means that the value's length # will be validated twice. This is considered acceptable since we want Loading
tests/model_fields/tests.py +7 −0 Original line number Diff line number Diff line Loading @@ -246,6 +246,13 @@ class ManyToManyFieldTests(test.SimpleTestCase): ) class TextFieldTests(test.TestCase): def test_to_python(self): """TextField.to_python() should return a string""" f = models.TextField() self.assertEqual(f.to_python(1), '1') class DateTimeFieldTests(test.TestCase): def test_datetimefield_to_python_usecs(self): """DateTimeField.to_python should support usecs""" Loading