0
我的環境是python2.7.3和django1.4.1爲什麼手動事務回滾在Django中不起作用?
我在MyISAM表中使用MySQL。
我的測試代碼:
from django.core.management import setup_environ
from myproject import settings
setup_environ(settings)
from myproject.models import *
from django.db import transaction
@transaction.commit_manually
def test_trans():
r=tab1.objects.get(no="1")
r.value=100
r.save()
transaction.rollback()#I already rollback here, but data is still being updated to the database
def main():
try:
test_trans()
except:
pass
if __name__ == '__main__':
main()
似乎transaction.rollback()不回滾我的交易,因爲數據仍在更新到數據庫。
請告訴我們您正在使用的數據庫。 MySQL的?如果是MySQL,您使用的是哪個表引擎(例如MyISAM/InnoDB) –
是的,我使用MySQL – user1934017
MyISAM或InnoDB?或其他? –