sqlalchemy NO ES NULL seleccionar

¿Cómo puedo agregar el filtro como en SQL para seleccionar valores que NO SON NULOS de una columna determinada?

SELECT * FROM table WHERE YourColumn IS NOT NULL; 

¿Cómo puedo hacer lo mismo con los filtros SQLAlchemy?

 select = select(table).select_from(table).where(all_filters) 

column_obj != None producirá una restricción IS NOT NULL :

En un contexto de columna, produce la cláusula a != b Si el objective es None , produce un IS NOT NULL .

o use isnot() (nuevo en 0.7.9):

Implementar el operador IS NOT .

Normalmente, IS NOT se genera automáticamente cuando se compara con un valor de None , que se resuelve en NULL . Sin embargo, el uso explícito de IS NOT puede ser deseable si se compara con valores booleanos en ciertas plataformas.

Manifestación:

 >>> from sqlalchemy.sql import column >>> column('YourColumn') != None  >>> str(column('YourColumn') != None) '"YourColumn" IS NOT NULL' >>> column('YourColumn').isnot(None)  >>> str(column('YourColumn').isnot(None)) '"YourColumn" IS NOT NULL' 

A partir de la versión 0.7.9 puede usar el operador de filtro. .isnot lugar de comparar restricciones, como esto:

query.filter(User.name.isnot(None))

Este método solo es necesario si pep8 es una preocupación.

fuente: documentación de sqlalchemy

En caso de que alguien más se esté preguntando, puede usar is_ para generar foo IS NULL :

 >>> de la columna de importación sqlalchemy.sql
 >>> columna de impresión ('foo'). is_ (Ninguno)
 foo es nulo
 >>> columna de impresión ('foo'). isnot (None)
 foo no es nulo