sqlalchemy IS NOT NULL select
我怎样才能像在SQL中一样添加filter,以便从某个列中select不为NULL的值?
SELECT * FROM table WHERE YourColumn IS NOT NULL; 
我怎样才能使用SQLAlchemyfilter呢?
 select = select(table).select_from(table).where(all_filters) 
	
  column_obj != None将产生一个IS NOT NULL约束 : 
在列上下文中,生成子句
a != b。 如果目标是None,则产生一个IS NOT NULL。
 或使用isnot() (0.7.9新增): 
实现
IS NOT运算符。通常情况下,当与
None的值进行比较时,IS NOT会自动生成,该值为NULL。 但是,如果与某些平台上的布尔值进行比较,则显式使用IS NOT可能是可取的。
演示:
 >>> 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' 
 从版本0.7.9开始,您可以使用filter运算符.isnot来代替比较约束,如下所示: 
 query.filter(User.name.isnot(None)) 
这个方法只有在pep8是一个问题时才需要。
源代码: sqlalchemy文档
 如果其他人想知道,可以使用is_来生成foo IS NULL : 
>>>从sqlalchemy.sql导入列 >>> print列('foo')。is_(None) foo是NULL >>> print column('foo')。isnot(None) foo不是NULL