¿Actualización correlacionada de SQLAlchemy con varias columnas?

Esta pregunta se ha hecho varias veces en stackoverflow, pero todos parecían tener más de un año, así que pensé que volvería a preguntar en caso de que haya una actualización.

A correlated update es una declaración de actualización que actualiza todas las filas de una tabla en función de los valores de otra tabla, mientras vincula las dos tablas.

Desde elDocumentos de SQLAlchemy, podemos hacer una actualización correlacionada fácilmente pero solo en una sola columna:

update(foo).values(bar=select([foobar.c.bar]).where(foobar.c.id == foo.c.id))

Esto se traduce en:

UPDATE foo
SET bar = (
    SELECT bar
    FROM foobar
    WHERE foobar.id = foo.id
) 

¿Cómo podemos escribir una actualización correlacionada usando más de una columna en sqlalchemy? Por ejemplo:

UPDATE foo
SET (bar, baz) = (
    SELECT bar, baz
    FROM foobar
    WHERE foobar.id = foo.id
) 

Respuestas a la pregunta(1)

Su respuesta a la pregunta