views:

189

answers:

3

I noticed that by default, all updates in the django admin site are done as transactions.

I need to either: - turn off transactions (globally or for a particular admin view) - inside of a save() method of an entity being saved via the admin interface, commit the transaction

The reason is that I overrode the save() method, and am notifying an external, non-django system about the change that just took place. However, the external system does not see the update since django has still not committed the transaction.

Does anyone have any suggestions on how to accomplish this?

+3  A: 

You can use commit_manually to get full control of a transaction in a particular view/function.

+1  A: 

A better solution might be to investigate your database's transaction-isolation setting, since that's the real reason why the external process can't "see" the update...

James Bennett