Реализован например баланс пользователя, функция, которая списывает с этого баланса условные деньги и что-то делает (если на балансе денег хватает).
При этом возникает поле для махинаций - например при балансе 1000, можно одновременно два раза вызвать функцию на списания 1000, они обе проверяют баланс, обе успешно, и два раза списывается 1000.
Соответственно вопрос - как на Django можно реализовать блокирующие операции, чтобы этого избежать?