Opening drill
How do Django atomic blocks, savepoints, and on_commit callbacks work together? | Aporeon