PostgreSQLデータベースへの接続でPythonを使用する場合、SQLAlchemyを使用していますが、ORMは使用していません。列の1つが文字列の配列であるテーブルがあり、入力パラメーターが配列列に存在しないすべての行を取得したいとします。SQLAlchemyの他のクエリの結果を取得できるため、問題はクエリの作成にある必要があることに注意してください。
実装する必要のあるSQLは次のようになります。
select pk from table where 'paramstring' NOT IN(array_column);
-- returns several rows
Pythonで思いついた関数は次のようなものです。
def get_not_matching(param):
select_statement = select([the_table.c.pk]).where(
~data_table.c.array_column.in_([param])
)
#... execute and retrieve ResultProxy
# the result_set comes back empty
任意の提案をいただければ幸いです。