У меня есть проект django, в котором значения базы данных нужно обновлять довольно часто самостоятельно. Существует cronjob, который выполняется для обновления этих значений в базе данных, но некоторые операции требуют атомарных транзакций. Кто-нибудь знает, как сделать метод модели полной транзакцией в django, не просматривая представления?
В идеале я хотел бы иметь возможность начать транзакцию в начале метода и зафиксировать его в конце, а затем просто иметь возможность вызывать этот метод из любого места (представление или cronjob) с гарантией что метод атомарный.
Если вы знаете, как это сделать, мне также нужно знать, если в случае неудачной фиксации (из-за одновременной записи или чего-то еще) транзакция будет автоматически повторена, или мне придется перехватывать вручную исключение ошибки и повторно вызовите метод.
Спасибо.