Session = scoped_session(sessionmaker(autoflush=True, transactional=True))
engine = create_engine('mysql://')
# start request
django_connection = get_django_DBAPI_connection_from_wherever()
sa_connection = sqlalchemy.engine.base.Connection(engine=engine, connection=django_connection, **possibly_other_stuff)
# preexisting transaction ? create a "fake" Transaction
trans = sqlalchemy.engine.base.Transaction(sa_connection)
sa_connection._Connection__transaction = trans # we'd need to give you an API for this
# set up thread-local Session bound to Connection
Session(bind=sa_connection)
try:
# do request
finally:
Session.remove()