0

NULL以外の値を取得したいのですが。これが例です。

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

取得したくないNone。NULL以外の値を取得する方法はありますか?

前もって感謝します。

4

2 に答える 2

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 であり、他の行ではそうでない場合、このアプローチでは行ごとに異なる数の要素が返される場合があります。

于 2012-06-14T06:20:36.227 に答える
1

デフォルトですべての列を返します。余分な NULL/None 値を避けたい列だけを選択する必要があります。

ドキュメントには、それに関する詳細情報があります。テーブル全体を渡すので、すべての列を取得します。

于 2012-06-14T04:59:47.957 に答える