python - raw - sqlalchemy NO ES NULO seleccionar
sqlalchemy models (3)
¿Cómo puedo agregar el filtro como en SQL para seleccionar valores que NO SON NULOS desde 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)
Comenzando en la versión 0.7.9 puede usar el operador de filtro. .isnot lugar de comparar restricciones, como este:
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 :
>>> from sqlalchemy.sql import column >>> print column(''foo'').is_(None) foo IS NULL >>> print column(''foo'').isnot(None) foo IS NOT NULL
column_obj != None producirá una restricción IS NOT NULL :
En un contexto de columna, produce la cláusula
a != bSi el objetivo esNone, produce unIS NOT NULL.
o use isnot() (nuevo en 0.7.9):
Implementar el operador
IS NOT.Normalmente,
IS NOTse genera automáticamente cuando se compara con un valor deNone, que se resuelve enNULL. Sin embargo, el uso explícito deIS NOTpuede ser deseable si se compara con valores booleanos en ciertas plataformas.
Manifestación:
>>> from sqlalchemy.sql import column
>>> column(''YourColumn'') != None
<sqlalchemy.sql.elements.BinaryExpression object at 0x10c8d8b90>
>>> str(column(''YourColumn'') != None)
''"YourColumn" IS NOT NULL''
>>> column(''YourColumn'').isnot(None)
<sqlalchemy.sql.elements.BinaryExpression object at 0x104603850>
>>> str(column(''YourColumn'').isnot(None))
''"YourColumn" IS NOT NULL''