docs: def get_params(self, values):
      """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.
      """
      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__))