Modeling Framework fills the gap between the Python object world and relational databases in that it allows users to transparently create, retrieve, update, or delete Python objects from a database without having to write a single line of SQL. Its main features include generation of database schema, generation of Python code templates ready to be used, support for transparent mapping of (class) inheritance in relational databases, object-oriented query language, use of standard Python getters to traverse relationships (the related objects are automatically fetched when needed and when appropriate), and automatic checking for referential-integrity constraints, etc. Supported databases are MySQL, Oracle, PostgreSQL, and SQLite.
| Tags | Database Front-Ends Software Development Code Generators Libraries Python Modules |
|---|---|
| Operating Systems | OS Independent |
| Implementation | Python |
Recent releases


Changes: This release contains an important fix for a problem occurring in a heavily stressed multi-threaded environment: the framework sometimes mysteriously failed when trying to fetch objects, or to fetch values for lazily-initialized objects. It also contains many bugfixes. The framework is now under the 3-clause BSD license.


Changes: The NotificationFramework package is now distributed under a 3-clause BSD-style license.


Changes: This release fixes a bug introduced in the previous version: with ZODB installed, the framework could not load or use models, which was a fatal error. This issue affected every installation (Python 2.2 and 2.3) with ZODB installed, not just Zope instances.


Changes: This release fixes invalid SQL selects for some complex qualifiers in MySQL, invalid FK constraints in generated database schema, strings incorrectly handled by IN qualifiers, and valid relations between objects incorrectly rejected by the validation logic. Some exported XML models couldn't be imported back under Python 2.3. The default behaviour is now to keep the connection to the database opened, and support for the SQL type double has been added to MySQL support.


Changes: This release includes a fix for the bug that made it impossible to add an observer when the ZODB package was installed.