I have one problem when i try to execute that simple request :
params['_filter_items'] = (12345)
sql = """ SELECT * FROM items
WHERE items.items IN %(_filter_items)s"""
# session is a db session of sqlAlchemy
query = session.execute(sql % params)
it will generate :
SELECT * FROM items
WHERE items.items IN 12345
without () when i have more than one item it's ok; i can touch the request; but i was wondered if there are another way to resolve it.
this object
(12345)
is the same as
12345
but it looks like you need tuple
with single element 12345
, it can be done with comma
(12345,)
we should avoid inserting of parameters by ourselves:
session.execute(sql % params)
let's delegate this work to SQLAlchemy
& database drivers and pass parameters as argument to execute
:
session.execute(sql, params)
try
params['_filter_items'] = (12345,)
sql = """ SELECT * FROM items
WHERE items.items IN %(_filter_items)s"""
# session is a db session of sqlAlchemy
query = session.execute(sql, params)