我想获取除 NULL 之外的值。这是一个例子。
from sqlalchemy import select
select([table]).execute().fetchone()
-> ('1', 'some value', 'some value', None, None)
我不想得到None
。除了 NULL 有什么方法可以获取值吗?
提前致谢。
我想获取除 NULL 之外的值。这是一个例子。
from sqlalchemy import select
select([table]).execute().fetchone()
-> ('1', 'some value', 'some value', None, None)
我不想得到None
。除了 NULL 有什么方法可以获取值吗?
提前致谢。
默认情况下,它会返回所有列。您应该只选择要避免额外的 NULL/None 值的列。
文档对此有更多信息。由于您正在传递整个表格,因此您将获得所有列。
SQL 的一个基本特性是查询为每一行返回相同数量的列,因此无法根据 SQL 端的某些每行条件不返回列。SQLAlchemy 只是遵循这个逻辑。
如果要从 SQLAlchemy 返回的数据中排除 None 值,可以在 Python 中执行:
def no_nulls(row):
return [column for column in row if column is not None]
no_nulls(select([table]).execute().fetchone())
-> ('1', 'some value', 'some value')
如果某列在某些行中为 NULL,但在其他行中不为 NULL,则此方法可能会为不同的行返回不同数量的元素。