I have a function in my database (Postgres) that looks like this:
create function test_f(a text default '*', b text default '+') returns text as $$
select a || ' ' || b;
$$ language sql;
Postgres allows calling it with named parameters:
mytest=> select test_f('a', 'b');
test_f
--------
a b
(1 row)
mytest=> select test_f('a');
test_f
--------
a +
(1 row)
mytest=> select test_f(b:='a');
test_f
--------
* a
(1 row)
I want to do the same from Python, using SQLAlchemy's func
construct, but it seems thatfunc
does not honor named parameters:
In [85]: print(sqlalchemy.func.test_f('a', 'b'))
test_f(:test_f_1, :test_f_2)
In [86]: print(sqlalchemy.func.test_f('a'))
test_f(:test_f_1)
In [87]: print(sqlalchemy.func.test_f(a='a'))
test_f()
Am I missing something, or func
does not support named parameters?
I want to do the same from Python, using SQLAlchemy's
func
construct, but it seems thatfunc
does not honor named parameters:In [85]: print(sqlalchemy.func.test_f('a', 'b')) test_f(:test_f_1, :test_f_2) In [86]: print(sqlalchemy.func.test_f('a')) test_f(:test_f_1) In [87]: print(sqlalchemy.func.test_f(a='a')) test_f()
Am I missing something, or
func
does not support named parameters?