Remove attr.is_ref, add attr.is_relation.
Instead of attr.is_ref you can use (attr.is_relation and not attr.is_collection).
Call Entity._link_reverse_attrs_() at the latter stage, during db.generate_mapping()
Remove database._unmapped_attrs
Now it is possible to use lambda to specify relation attribute type: customer = Required(lambda: Customer)
cascade delete bug fixed
Allow read attributes of deleted objects: now pk is always accessible, and other attributes can be read if the object was not deleted from the database yet
before_insert, before_update, before_delete methods added
Merge branch 'master' to 'orm'