def parse_condition(self, schema, name, v):
        """
        Parse name = 'value' to condition
        :param name: column name
        :param schema: schema name
        :param v: column value
        :return:
        """

        S = schema
        col = S.get_column(name)
        condition = None

        if col is not None:  # can create condition
            if isinstance(v, (str, unicode)):
                if v.startswith('>='):
                    condition = (col >= eval(v[2:].strip()))
                elif v.startswith('>'):
                    condition = (col > eval(v[1:].strip()))
                elif v.startswith('<='):
                    condition = (col <= eval(v[2:].strip()))
                elif v.startswith('<'):
                    condition = (col < eval(v[1:].strip()))
                elif v.startswith('='):
                    condition = (col == eval(v[1:].strip()))
                elif v.startswith('!='):
                    condition = (col != eval(v[2:].strip()))
                elif v.startswith('like'):
                    condition = col.like(v[4:].strip())
                elif v.startswith('between'):
                    _v = eval(v[7:].strip())
                    if not isinstance(_v, (tuple, list)):
                        raise ValueError("Between operation should be a list, but {!r} found".format(v))
                    condition = (col.between(*_v))
                elif v.startswith('in'):
                    condition = (col.in_(eval(v[2:].strip())))
                else:
                    if '%' in v:  # like
                        condition = col.like(v)
                    else:
                        condition = (col == v)
            elif isinstance(v, (tuple, list)):
                condition = (col.in_(v))
            else:
                condition = (col == v)
        return condition
Parse name = 'value' to condition
        :param name: column name
        :param schema: schema name
        :param v: column value
        :return: