Almost forgot this one...

I think it would be nice to allow attnames to work for .update() - the attnames are usable almost everywhere, so having them available in even more places doesn't really hurt.

It is worth checking if the allow_explicit_fk could be removed from ORM, and the proposed patch added to init_name_map(). I am not sure what (if anything) this would break. Quick look indicates that allow_explicit_fk is set to True somewhat randomly.

Another option is to deal with this inside update, but as said that amounts to another hack.