def to_python(self, value):
        """
        Split a string value by separator (default to ",") into a
        list; then, returns a regex pattern string that ORs the values
        in the resulting list.

        >>> field = VaryingTypeCharField()
        >>> assert field.to_python('') == ''
        >>> assert field.to_python('test') == 'test'
        >>> assert field.to_python('and,me') == '(and|me)'
        >>> assert field.to_python('and,me;too') == '(and|me;too)'
        """
        res = super(VaryingTypeCharField, self).to_python(value)
        split_res = res.split(self._default_separator)
        if not res or len(split_res) < 2:
            return res.strip()

        # create a regex string out of the list of choices passed, i.e: (a|b)
        res = r"({pattern})".format(pattern="|".join(
            map(lambda x: x.strip(), split_res)))
        return res
Split a string value by separator (default to ",") into a
        list; then, returns a regex pattern string that ORs the values
        in the resulting list.

        >>> field = VaryingTypeCharField()
        >>> assert field.to_python('') == ''
        >>> assert field.to_python('test') == 'test'
        >>> assert field.to_python('and,me') == '(and|me)'
        >>> assert field.to_python('and,me;too') == '(and|me;too)'