1

您好,感谢您的阅读。我正在 Django 中创建一个快速站点,并且我在对我的 Postgres 数据库进行的原始 SQL 中有一个非常简单的更新语句。这里有一些麻烦:

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')

我收到一条错误消息,显示“[URL] 处的 TransactionManagementError 此代码不在事务管理之下”。有任何想法吗?

4

1 回答 1

6

您需要在commit_manually手动管理事务的代码中使用装饰器。

于 2013-04-01T22:25:30.077 回答