0

我想获取除 NULL 之外的值。这是一个例子。

from sqlalchemy import select
select([table]).execute().fetchone()
 -> ('1', 'some value', 'some value', None, None)

我不想得到None。除了 NULL 有什么方法可以获取值吗?

提前致谢。

4

2 回答 2

1

默认情况下,它会返回所有列。您应该只选择要避免额外的 NULL/None 值的列。

文档对此有更多信息。由于您正在传递整个表格,因此您将获得所有列。

于 2012-06-14T04:59:47.957 回答
1

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,则此方法可能会为不同的行返回不同数量的元素。

于 2012-06-14T06:20:36.227 回答