September 04, 2003

Nearly a year ago now, I wrote about persistence. OODBMSs didn't do it for me, so this left the question of how best to use an RDBMS with an OOP language.

A year on, I've still not come across anything which stands out. Not until now, that is. Simon Willison has pointed out SQLObject, and it looks really interesting.

Don't take this as a recommendation, since I've not had a chance to play with this yet, let alone to use it in anger. But it's worth a look, I think.

If and when I do have a chance to give SQLObject a work out, I'll let you know how it goes. If you have any experiences to relate in the meantime, please feel free. ;-)

Posted to Python by Simon Brunning at September 04, 2003 03:47 PM

Certainly is. I had started reviewing all of the available Python Object-Relational mappers but basically stopped when I got to SQLObject.

I'm using it quite successfully, and there is an active community of users and developers who communicate via the project mailing list.

There are a couple of 'features' in the last released version which are fixed in CVS so its worthwhile getting on the bleeding edge.

The only drawbacks for me are that its missing support for a couple of databases that I use (Oracle and DB2) and its reliance on auto generated integers as primary keys (although this restriction is slowly being lifted).

If you are writing an application in Python and storing your data in MySQL or PostgreSQL its a winner.

Posted by: Andy Todd on September 4, 2003 04:35 PM

Another similar project is ORM (Object Relational Membrane), It's my favourite way to use an SQL database from Python.

Posted by: Lao on September 4, 2003 10:11 PM

ORM's URl is (clicking on Lao's link will product a 404, because it contains a trailing dot).

Posted by: Diedrich Vorberg on January 27, 2004 01:01 PM
Post a comment

Email Address:



Remember info?