Django中间件自动提交不能使用

时间:2016-11-21 15:02:51

标签: python django postgresql transactions

我们的代码具有自定义中间件来记录请求和响应,因此我们可以记录API活动。

def process_response(self, request, response):
    user = None
    try:
        if request.user.is_authenticated():
            user = request.user
        the_record = Record(
            requestUser=user,
            requestPath=request.path,
            requestMethod=request.method)
        the_record.save()
    except:
        pass

在process_response方法中,我们创建对象并保存它。如果API方法标有@transaction.atomic,则会显示日志消息autocommit cannot be used inside a transaction

方法中没有异常,但只是在数据库中记录,因为该特定的API调用不存在。

有没有解释为什么会出现自动提交日志消息?也许使用模型管理器create而不是save方法?

0 个答案:

没有答案