allow the possibility of column-level "default" values to populate before persistence (new event + recipe)
In declarative mode, you are able to write something like:
class Person(DeclarativeBase): status = Column(Unicode(20), nullable=False, default=u'alive')
Unfortunately, the "default" parameter is only taken into account when inserting the Person into the database. It means that, until you flush() the session, querying the "status" attribute will return None rather than the default value. It would be handier if the descriptor was smart enough to return the default value when it hasn't been set.