Fixed #33406 -- Avoided creation of MaxLengthValidator(None) when resolving Value.output_field for strings.
This brings the behaviour in line with Field subclasses which append to the validators within __init__(), like BinaryField, and prevents the creation of a validator which incorrectly throws a TypeError, if it were used.
This commit is contained in:
parent
b894199eb0
commit
0ed2919814
|
@ -1010,7 +1010,8 @@ class CharField(Field):
|
|||
def __init__(self, *args, db_collation=None, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.db_collation = db_collation
|
||||
self.validators.append(validators.MaxLengthValidator(self.max_length))
|
||||
if self.max_length is not None:
|
||||
self.validators.append(validators.MaxLengthValidator(self.max_length))
|
||||
|
||||
def check(self, **kwargs):
|
||||
databases = kwargs.get('databases') or []
|
||||
|
|
|
@ -1859,6 +1859,7 @@ class ValueTests(TestCase):
|
|||
and this demonstrates that they don't throw an exception.
|
||||
"""
|
||||
value_types = [
|
||||
'str',
|
||||
True,
|
||||
42,
|
||||
3.14,
|
||||
|
|
Loading…
Reference in New Issue