Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A PostgreSQL ORM

Project description

This is my effort to create an ORM which would take full advantage from PostgresSQL. It is currently under steady development.

Philosophy

  1. PostgresSQL is great. However portable ORM’s use it like SQLite. To use all features of Postgres we need to drop portability to weaker engines.
  2. Simple things should be simple, complicated things should be possible. The ORM should guess all the obvious things, but allow to override them.
  3. Where possible use pythonic EAFP strategy. If database seems to be not in sync with ORM try to migrate.
  4. The interaction with persistent objects should be as seamless and pythonic as possible

DONE

  1. Simple tables.
  2. Inheritance.
  3. Simplest one-to-many and many-to-one
  4. Many-to-many
  5. EAFP table creation
  6. Simplest identities
  7. Dependent and independent relations
  8. Some documentation
  9. Tree decorator for simple parent_id tree
  10. List-like relations

TODO

  1. Dict-like relations
  2. Advanced primary keys
  3. Concurrency control and conflict detection
  4. Advanced identities
  5. EAFP table migration
  6. Joined loading strategy
  7. Full documentation
  8. MPTT trees

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Elephantoplasty, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size Elephantoplasty-0.1.tar.bz2 (69.8 kB) File type Source Python version None Upload date Hashes View hashes
Filename, size Elephantoplasty-0.1.zip (100.9 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page