Раньше я знал, как это сделать, но я забыл. Иногда, используя оболочку Django, вы делаете ошибку и заставляете транзакцию прерваться. После этого любые последующие запросы приведут к DatabaseError: текущая транзакция прерывается, команды игнорируются до конца транзакционного блока. Тем не менее, я думаю, что есть способ отменить транзакцию, когда это происходит вручную, поэтому вам не нужно перезапускать сеанс. Может ли кто-нибудь сказать мне, что это такое?
Этот отчет об ошибке (https://code.djangoproject.com/ticket/10813) ссылается на эту технику, но не объясняет ее. Запуск django.db.transaction.rollback приводит к "TransactionManagementError: этот код не находится под управлением транзакций".