Is there something easier than ORM?

Mike Driscoll kyosohma at gmail.com
Tue Feb 17 10:02:53 EST 2009


On Feb 17, 8:15 am, 一首诗 <newpt... at gmail.com> wrote:
> Thanks for your reply.
>
> With sqlalchemy, an mapped must living in a session, you have no way
> to disconnect it with its session.
>
> For example :
>
> #-------------------------------------
> user = session.query(User).first()
> session.expunge(user)
> print user.name   #Error here
> #-------------------------------------
>
> I just want to get an read-only copy of user disconnected with session
> to avoid  unexpected database operation.
> But after expunge, properties of user is not accessible anymore.


If you don't want any unexpected database operations, don't call flush
() or commit() or just call rollback() BEFORE you do any real
operations.

There is a good sqlalchemy mailing list where even the developers hang
out and answer questions. I'm sure they could point you in the right
direction too.

Mike






>
> BTW : why you choose elixir instead of sqlalchemy's own schema
> definition style?
> Doesn't including another library means more chances of bugs?
>
> On Feb 17, 9:24 pm, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
>
> > 一首诗 schrieb:
>
> > > Hi all,
>
> > > Recently I am studying some python ORM libraries, such as sqlalchemy.
>
> > > These are very powerful technologies to handle database.  But I think
> > > my project are not complicated to enough to benefit from a complete
> > > ORM system.
>
> > > What I really want, is some easy ways to load data from database, and
> > > change rows of data to list of named tuple, then I could send these
> > > data to my client application.
>
> > > I don't think I want these subtle behavior such as lazy load, auto
> > > update, ect. in ORM.
>
> > > So is there some libraries like that?
>
> > > Or is there some tools that could generate code from database scheme
> > > as I want?
>
> > Sqlalchemy. You don't need to use the ORM-layer, and you can use
> > reflection to create schema-objects like tables.
>
> > Then you can use that to create SQL-queries simple & powerful, whilst
> > being DB-agnostic and having a road to start using the ORM if you
> > discover it is useful for you.
>
> > To be honest: if you can control the schema, I'd still go for an orm. I
> > for example use elixir. It makes the easy things *really* easy, and the
> > complicated ones ar still possible.
>
> > Diez




More information about the Python-list mailing list