I can't think of a way you could do this with objects you've already loaded into memory. Perhaps you could use Query.update to issue the appropriate SQL directly to the database?
Maybe I'm not understanding your question properly. The return value from query.all() is a plain python list. You're asking for it to return a different kind of object, that wraps the underlying list and allows you to specify arbitrary operations that should be applied to each object in that list? I guess I could imagine a complicated class that might support something like that, but I don't think it exists at the moment, and it would seem like a lot of work just to avoid a simple loop...
I'm not aware of any way to do this.
I'm not either, and I'm scared of the SQL that would be generated and the wire traffic/memory if there were. That would be subselects within subqueryloads within... this also seems a bit more about "updates to associations" vs "association_proxy".
If I can just wrap this up, do i understand correctly that this would
the functionality of "joined eager loading", except applied to something
like an UPDATE..FROM ?