We are proud to announce the Pony ORM Release 0.5! This release brings lots of improvements and new features which are listed below.
Changes since 0.4.9
- New transaction model (link)
- New method
Query.filter()
allows step-by-step query construction (link) - New method
Database.bind()
simplifies testing and allows using different settings for development and production (link) - New method
Query.page()
simplifies pagination (link) - New method
MyEntity.select_random(N)
is effective for large tables (link) - New method
Query.random(N)
for selecting random instances (link) - Support of new
concat()
function inside declarative queries
Newbefore_insert()
,before_update()
,before_delete()
entity instance hooks which can be overridden - Ability to specify
sequence_name=’seq_name’
for PrimaryKey attributes in Oracle database - Ability to create new entity instances specifying the value of the primary key instead of the object
- Ability to read entity object attributes outside of the
db_session
- Ability to use lambdas as a reference to an entity in relationship attribute declarations (link)
- The names of tables, indexes and constraints in the database creation script now are sorted in the alphabetical order
In MySQL and PostgreSQL Pony converts the table names to the lower case. In Oracle – to the upper case. In SQLite leaves as is. - The option
options.MAX_FETCH_COUNT
is set to None by default now - The support of PyGreSQL is discontinued, using psycopg2 instead
- Added
pony.__version__
attribute - Multiple bugs were fixed
- Stability and performance improvements