in the 0.7 series, you can't pass an ORM mapped class as the subject of the
core update() construct:
e =
update(Executions).where(Executions.id==bindparam("execution_id")). \
values(end_date=bindparam("now"))
that statement will work as is if you just refer to the Table:
e =
update(Executions.__table__).where(Executions.id==bindparam("execution_id")). \
values(end_date=bindparam("now"))
also note that the indirection between bindparam("foo") and
connection.execute(stmt, foo="some value") is not needed; you can embed literal
values directly in the statement, and the Core will convert them to bound
parameters (just use echo=True to see it in action):
e = update(Executions).where(Executions.id==execution_id). \
values(end_date=datetime.datetime.now())
At the ORM level, you can use query.update():
session.query(Executions).filter(Executions.id==execution_id).update({"end_date":datetime.now()},
synchronize_session=False)
On Mar 6, 2013, at 8:06 PM, Mauricio de Abreu Antunes
<[email protected]> wrote:
> So, i have read @StackOverflow some tips.
> There is a lot of people saying they have to make a query on the table and
> then update it. there is no way to upgrade without performing a query?!
>
> On Wednesday, March 6, 2013 6:17:35 PM UTC-3, Mauricio de Abreu Antunes wrote:
> Hello,
>
> I'm new to SQLAlchemy. Currently I'm using SQLAlchemy 0.7.1.
> Reading the tutorial, I tried to write my codes like those examples but I had
> no success working on it.
>
> Code is here:
> https://gist.github.com/mauricioabreu/5103163
>
> Do I need to map the table Executions to execute an update expression on it?
>
> Sorry if this is a very noob question.
>
> If you need more info about the problem let me know.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.