Conor,
On 07/27/2011 05:54 PM, Conor wrote:
On 07/27/2011 10:42 AM, werner wrote:
I like to use a stored procure which needs a input parameter in
something like this:
seltest = db.sa.select(["id",
"name"]).select_from(db.sa.func.someStoredProc(2)).alias()
seltestm = db.sao.mapper(ATest, seltest, primary_key=[seltest.c.id])
result = session.query(seltestm).get(73)
above works, but I would really need to replace the hardcoded "2"
with a function, i.e.:
seltest = db.sa.select(["id",
"name"]).select_from(db.sa.func.someStoredProc(getSomeUserValue())).alias()
seltestm = db.sao.mapper(ATest, seltest, primary_key=[seltest.c.id])
# set the SomeUserValue here and then do
result = session.query(seltestm).get(73)
tried using functools.partial but I get a InterfaceError exception.
Werner
I believe you want to replace getSomeUserValue() with
sa.bindparam(callable_=getSomeUserValue). See the docs at
http://www.sqlalchemy.org/docs/core/expression_api.html#sqlalchemy.sql.expression.bindparam.
As an aside, do you really want to map a class against a dynamic
query? I'm not sure how well the ORM deals with that. At the very
least, I think you need to ensure that SomeUserValue does not change
while using the session.
Thanks that works great.
Werner
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.