私は、私はこのようなSQLAlchemyのを使用して照会することができますPostgreSQLのストアドプロシージャを持っている:私は私のコードでcol_name == some_value
のようなものを使用する方法を知りたいSQLAlchemy(コア)の列にリテラルを作成するにはどうすればよいですか?
import sqlalchemy as sa
engine = sa.create_engine(...)
some_argument = 42
some_value = 99
for result in engine.execute(sa.select(['col_name'])
.select_from(sa.func.this_is_my_func_name(some_agument))
.where('this part does not work')):
print(result)
を。ここで
は動作しないいくつかのものです:
.where('col_name' == some_value)
.where(sa.column('col_name') == some_value)
私は私が探している正確に何が何かを発見していません。
.where(sa.text('col_name = :col_value'))
、その後engine.execute(query, col_value=some_value)
を、それが行うには非常に正しいことではないように思えることは:私は行うことができます。
sql = sa.text('''
SELECT
col_name
FROM
this_is_my_func_name(:argument)
WHERE
col_name = :value
''')
engine.execute(sql, argument=some_argument, value=some_value)
私が考えているものを達成するためのより良い方法はありますか、私はちょうど全開sqlalchemy.text
に行く必要があります。その時点で、私がちょうどすべきように思えますか?