У меня есть функция, которую я завернул в @transaction.commit_on_success
и запускаю на ней модульные тесты Django.
Функция слишком длинная для вставки, но есть такой псевдокод:
@transaction.commit_on_success
def func():
order = Order.create()
order.save()
OrderItem.create(order=order)
test = 10/0 # make sure we run into an error
Затем в моем модульном тесте я проверяю, len(Order.objects.all()) == 0
Моя функция возвращает действительный объект Order, поэтому транзакция фиксируется.
Что я здесь делаю неправильно?
РЕДАКТИРОВАТЬ: я на Django 1.5