【发布时间】:2015-04-26 22:14:18
【问题描述】:
为手动交易启用了函数 A()。它具有数据库事务并在出现任何错误时回滚。此函数调用另一个未启用手动事务但具有数据库事务的函数,在发生异常时也会引发错误。在这种情况下会在父函数中回滚被调用函数中的db编辑语句吗??
我正在使用Mysql
import sys
import os
from polls.models import Choice
from django.db import transaction
def s1():
with transaction.commit_manually():
try:
print "First Fun"
choice_obj = Choice.objects.create(
choice_text="heyaa", votes='1', question_id='1')
s2()
transaction.commit()
except:
print "Roll Fun"
transaction.commit()
transaction.rollback()
def s2():
try:
print "Second Fun"
choice_obj = Choice.objects.create(
choice_text="abcaa", votes='1', question_id='1')
print a
except:
raise
【问题讨论】:
标签: python mysql django transactions