Parece que está utilizando el administrador de transacciones zodb en pirámide.
Tienes que marcar la sesión como modificada
Deberías hacer algo como
from zope.sqlalchemy import mark_changed
mark_changed(Session)
si eso no funciona intente
from zope.sqlalchemy import ZopeTransactionExtension
Session.configure(extension=ZopeTransactionExtension('changed'))