TransactionManagementError?

Привет, спасибо за чтение. Я делаю быстрый сайт в Django, и у меня очень простой оператор обновления в сыром SQL, который я делаю в моей базе данных Postgres. Что-то здесь вызывает проблемы:

from django.http import HttpResponse
from django.db import connection, transaction

def rsvp_update(request, rsvp_id, status):
  cursor = connection.cursor()
  cursor.execute("UPDATE public.rsvp SET status=%s WHERE rsvp_id = %s", [status, rsvp_id])
  transaction.commit()
  return HttpResponse('okay')

Я получаю сообщение об ошибке "TransactionManagementError в [URL] Этот код не находится под управлением транзакций ". Любые идеи?

Ответ 1

Вам нужно использовать декоратор commit_manually для кода, в котором вы управляете транзакциями вручную.