【发布时间】:2013-10-29 01:54:24
【问题描述】:
我想在我的django项目中使用事务,所以我建立一个视图来练习
views.py 中的代码:
@transaction.commit_manually
def test(request):
import random
wiki = Entry.objects.get(id=854)
wiki.title = 'title-{}'.format(random.randrange(1,100))
wiki.save()
transaction.rollback()
return HttpResponse('ok')
如你所见,我更新了wiki.title,然后我回滚了它,所以,在我看来,wiki.title不会更新到数据库,但实际上不是,我不知道为什么。
我的环境是 django 1.4.2,python 2.7,mysql 5.6.13
文档:https://docs.djangoproject.com/en/1.4/topics/db/transactions/
【问题讨论】:
-
你选择了支持事务的表引擎吗?
-
谢谢提醒,我用的是默认的表引擎MyISAM,不支持事务,我改成Innodb,问题解决了,再次感谢。
标签: django transactions