@transection.commit_on_success
def recordIt(...)
try:
....
recordable = firstDataInsertionFunction(...)
if recordable:
myRec = SecondDataInsertion(.....)
except:
....
Что касается commit_on_success , если моя вторая вставка данных не удалась, django должен автоматически откатиться, поэтому моя первая вставка данных тоже будет откачена ...
Но это не работает, и первые вставленные данные сохраняются в БД, в то время как я не могу увидеть результат второй вставки в мою базу данных ... Является ли попытка / исключение, приводящее к сбою commit_on_success? Потому что, как говорится в документации:
Если функция вернется успешно, Django выполнит всю работу, выполненную внутри функции в этот момент. Если функция вызывает исключение, Django откатит транзакцию.
И try обрабатывает все исключения. Это проблема моего неработающего commit_on_success ?