Siempre que uses el decorador commit_manually. Debes de hacer commit o rollback yeap, aunque sea solo estés leyendo.
Así que tienes que asegurarte que siempre que entres a tu función haga commit o rollaback.
Tambien puedes usar atomic con la setencia with.
https://docs.djangoproject.com/en/1....saction.atomic
Fuente:
https://docs.djangoproject.com/en/1....ommit_manually