':param int min_length: Sets the minimum length of this string, for validation purposes.
Defaults to 1 if this is a ``required`` column. Otherwise, None.
:param int max_length: Sets the maximum length of this string, for validation purposes.'

def __init__(self, min_length=None, max_length=None, **kwargs):

    self.min_length = (1 if ((not min_length) and kwargs.get('required', False)) else min_length)
    self.max_length = max_length
    if (self.min_length is not None):
        if (self.min_length < 0):
            raise ValueError('Minimum    length    is    not    allowed    to    be    negative.')
    if (self.max_length is not None):
        if (self.max_length < 0):
            raise ValueError('Maximum    length    is    not    allowed    to    be    negative.')
    if ((self.min_length is not None) and (self.max_length is not None)):
        if (self.max_length < self.min_length):
            raise ValueError('Maximum    length    must    be    greater    or    equal    to    minimum    length.')
    super(Text, self).__init__(**kwargs)
