Se você estiver querendo saber se existe ou não um valor de string em uma coluna, certifique-se de tornar a coluna anulável na definição do modelo.
some_str = db.Column(db.String(30), nullable=True)
Dessa forma, você pode consultar da seguinte forma:
if str(column_type)!='SMALLINT' and check in (0,1):
if check==0:
items = items.filter(func.lower(getattr(self.model, k)).is_(None))
else:
items = items.filter(func.lower(getattr(self.model, k)).isnot(None))
onde check é um valor booleano, por exemplo, de uma querystring:
?some_str=1
Você não pode usar ! = Como você pode esperar, porque está criando a consulta dinamicamente.