Getting benifits of database transactions in an OO way?
Sun Aug 22 03:20:53 CEST 2004
Leif K-Brooks <eurleif at ecritters.biz> writes:
> import people
> fred = people.find_by_name('Fred Flintstone')
> barney = people.find_by_name('Barney Rubble')
> fred.money -= 10
> barney.money += 10
> Right now, the Person.save_data method also commits the current
> database transaction. But that seems to remove the benifit of having a
> database with transactions: If something dies between the call to
> fred.save_data() and barney.save_data(), Fred's $10 will end up in a
> black hole somewhere.
You have to use transactions for that. E.g.
this_transaction = people.begin_transaction()
fred = this_transaction.find_by_name('Fred Flintstone')
barney = this_transaction.find_by_name('Barney Rubble')
fred.money -= 10
barney.money += 10
More information about the Python-list