These tips are veeery good!
I sometimes get lost about the best way to use the best ORM library in the
world.

2013/3/7 Simon King <si...@simonking.org.uk>

> This is an unusual way to update an object that you've already retrieved:
>
>         result = session.query(Executions). \
>                 filter_by(id=execution_id).first()
>         if result.end_date is None:
>             e =
> update(Executions).where(Executions.id==bindparam("execution_id")). \
>                 values(end_date=bindparam("now"))
>             self.connection.execute(e, execution_id=execution_id,
> now=datetime.datetime.now())
>
> It would be more natural to write it like this:
>
>   if result.end_date is None:
>       result.end_date = datetime.datetime.now()
>       session.flush()
>
> Also, if "id" is the primary key on your Executions class, you can
> write the first line as:
>
>   result = session.query(Executions).get(execution_id)
>
>
> On Thu, Mar 7, 2013 at 1:58 AM, Michael Bayer <mike...@zzzcomputing.com>
> wrote:
> > 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
> > <mauricio.abr...@gmail.com> 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 sqlalchemy+unsubscr...@googlegroups.com.
> > To post to this group, send email to sqlalchemy@googlegroups.com.
> > 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 sqlalchemy+unsubscr...@googlegroups.com.
> > To post to this group, send email to sqlalchemy@googlegroups.com.
> > 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 sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>


-- 
*Mauricio de Abreu Antunes*
Mobile: (51)930-74-525
Skype: mauricio.abreua

-- 
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 sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to