Fixed #24677 -- Made TextField.to_python() return a string.
This is consistent with CharField.
This commit is contained in:
parent
dfdcb3ca22
commit
19e67c6cd1
|
@ -2141,12 +2141,15 @@ class TextField(Field):
|
||||||
def get_internal_type(self):
|
def get_internal_type(self):
|
||||||
return "TextField"
|
return "TextField"
|
||||||
|
|
||||||
def get_prep_value(self, value):
|
def to_python(self, value):
|
||||||
value = super(TextField, self).get_prep_value(value)
|
|
||||||
if isinstance(value, six.string_types) or value is None:
|
if isinstance(value, six.string_types) or value is None:
|
||||||
return value
|
return value
|
||||||
return smart_text(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):
|
def formfield(self, **kwargs):
|
||||||
# Passing max_length to forms.CharField means that the value's length
|
# Passing max_length to forms.CharField means that the value's length
|
||||||
# will be validated twice. This is considered acceptable since we want
|
# will be validated twice. This is considered acceptable since we want
|
||||||
|
|
|
@ -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):
|
class DateTimeFieldTests(test.TestCase):
|
||||||
def test_datetimefield_to_python_usecs(self):
|
def test_datetimefield_to_python_usecs(self):
|
||||||
"""DateTimeField.to_python should support usecs"""
|
"""DateTimeField.to_python should support usecs"""
|
||||||
|
|
Loading…
Reference in New Issue