django 事务错误 -- Transaction managed block ended with pending COMMIT/ROLLBACK

1 Request Method:    GET
2 Request URL:    http://192.168.128.111:8000/×××/××××/
3 Django Version:    1.4.8
4 Exception Type:    TransactionManagementError
5 Exception Value:    
6 Transaction managed block ended with pending COMMIT/ROLLBACK

今天在做事务处理的时候老是出现这个问题,我研究了半天,发现我代码严格按照

try:

  ***

exception:

  ***

else:

  ***

这种格式来写的,为什么还有错呢?

于是各种google,什么注释掉@transaction.commit_manually 看看错误在哪,什么都试了。

直到我找到这篇文章:http://stackoverflow.com/questions/9955321/django-transaction-managed-block-ended-with-pending-commit-rollback

马但啊,原来在返回视图前还有数据库操作。

1         retval = render_to_response('***/***.html',{
2                 'form':form,
3                 'nav_active':'active',
4             },context)
5         transaction.commit()
6         return retval

这样就OK了。

posted @ 2014-12-05 09:53  r3call  阅读(1170)  评论(0编辑  收藏  举报