Something like this is available on a roll-your-own basis via Python
properties along with some mapper tricks:
http://www.sqlalchemy.org/docs/04/mappers.html#advdatamapping_mapper_overriding
I would be +1 for such a feature implemented on mapped instances, could be
useful for detecting those hard-to-find bugs, but I can't think of a nice
and simple API for it. For mapped instances via Query(), it could be an
.option(), but I can't see a good way for its use on relation()s. Also not
sure if such a feature would throw an exception on attribute setting, or
whether it ought to simply be ingored during a flush (OIOW, have it's
"dirty" flag locked down to False)