code: def get_params(self, values):
      
      if values is None:
        return None
      elif isinstance(values, dict):
        return values
      elif isinstance(values, (list, tuple)):
        params = []
        for val in values:
          if len(val) == 2:
            params.append(val[1])
          else:
            if val[2] in ("in", "between"):
              params.extend(val[1])
            else:
              params.append(val[1])
        return params
      elif isinstance(values, str):
        return None
      else:
        raise TypeError(
          "values must be None, a dict, list or tuple, is {0}".format(type(values).__name__))
docs: Gets params to be passed to execute from values.
  
      :values: can either be a dict, in which case it will be returned as is, or can be an enumerable
      of 2- or 3-tuples. This will return an enumerable of the 2nd values, and in the case of some
      operators such as 'in' and 'between' the values will be specially handled.