+++++++++ SQLObject +++++++++ SQLObject is a popular *Object Relational Manager* for providing an object interface to your database, with tables as classes, rows as instances, and columns as attributes. SQLObject includes a Python-object-based query language that makes SQL more abstract, and provides substantial database independence for applications. * `Download `_ * `Mailing list, bugs, etc. `_ * `Related projects and articles `_ * `Wiki and tracker `_ Documentation ============= * `News and updates `_ * `Main SQLObject documentation `_ * `Frequently Asked Questions `_ * `sqlbuilder documentation `_ * `select() and SelectResults `_ * `A brief description of SQLObject architecture `_ * `sqlobject-admin documentation `_ * `Inheritance `_ * `Versioning `_ * `Views `_ * `Developer Guide `_ * `Contributors `_ Example ======= Examples are good. Examples give a feel for the aesthetic of the API, which matters to me a great deal. This is just a snippet that creates a simple class that wraps a table:: >>> from sqlobject import * >>> >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:') >>> >>> class Person(SQLObject): ... fname = StringCol() ... mi = StringCol(length=1, default=None) ... lname = StringCol() ... >>> Person.createTable() SQLObject supports most database schemas that you already have, and can also issue the ``CREATE`` statement for you (seen in ``Person.createTable()``). Here's how you'd use the object:: >>> p = Person(fname="John", lname="Doe") >>> p >>> p.fname 'John' >>> p.mi = 'Q' >>> p2 = Person.get(1) >>> p2 >>> p is p2 True .. image:: http://sourceforge.net/sflogo.php?group_id=74338&type=4 :height: 37 :width: 125 :alt: Hosted by SourceForge :target: http://sourceforge.net/