【问题标题】:django/postgresql current transaction is aborted, commands ignored until end of transaction blockdjango/postgresql 当前事务被中止,命令被忽略直到事务块结束
【发布时间】:2013-10-25 03:11:53
【问题描述】:

我收到上述错误,当我提交模型表单时,我尝试了 -

1.

from django.db import transaction
transaction.rollback()

2

from django import db
from django.db.backends.util import CursorDebugWrapper
old_execute = CursorDebugWrapper.execute
old_execute_many = CursorDebugWrapper.executemany

def execute_wrapper(*args, **kwargs):
    try:
        old_execute(*args, **kwargs)
    except Exception, ex:
        logger.error("Database error:\n%s" % ex)
        db.close_connection

def excecute_many_wrapper(*args, **kwargs):
    try:
        old_execute_many(*args, **kwargs)
    except Exception, ex:
        logger.error("Database error:\n%s" % ex)
        db.close_connection

CursorDebugWrapper.execute = execute_wrapper
CursorDebugWrapper.executemany = excecute_many_wrapper

3

from django.db import connection
connection._rollback()

4

manage.py migrate 

manage.py syncdb

然后重新提交模型表格,似乎什么也没发生。

我该如何解决这个问题?

【问题讨论】:

  • 可以分享一下有问题的模型和表格吗?

标签: django postgresql django-models


【解决方案1】:

你需要显示postgresql日志来找出问题所在,有一个错误的SQL查询。

tail -f /var/lib/pgsql/data/pg_log/postgresql-Thu.log

【讨论】:

    猜你喜欢
    • 2013-08-04
    • 2011-12-06
    • 2014-07-04
    • 2011-01-13
    • 2012-05-11
    • 2016-12-11
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多