1.5 web.database.object -- An object relation mapper built on the web.database and web.form modules

#
1.5 `web.database.object` -- An object relation mapper built on the `web.database` and `web.form` modules

The `web.database.object` module is an object-relational mapper. It allows you to simply define complex database structures in Python code and then create the necessary tables automatically. It then allows you to manipulate the Python objects you have defined to transparently manipulate the underlying database including the facility to use multiple joins without knowing any SQL.

Furthermore the table column classes are derived from `web.form.field` objects which means you can transparently create HTML interfaces to edit the data structures through a web browser. This makes `web.database.object` module ideal as a middle layer for writing data-driver websites although it has broader uses as well.

A database object can in theory have any storage driver (text, XML, SQL Datbase, DBM) although currently only a driver for the `web.database` module has been written. This means that any storage system with a driver for `web.database` can be used with `web.database.object`. This currently includes MySQL, ODBC, SQLite and, to an extent, Gadlfy.