Hi, I'm working with a company that uses and maintains a commercial Django-based commercial system, which requires reliable transactional integrity across groups of database operations in a number of places (financial transfers, and so on).
I've been investigating how Django's transaction management works, but found to my surprise that Django's transaction managed blocks do not actually ensure any transactional integrity, despite the documentation indicating otherwise. (For example, "Use the commit_on_success decorator to use a single transaction for all the work done in a function.") I wrote up the following document, which describes the problem in a fair amount of detail, as well as how Django's transaction management system may be fixed to avoid it: - Django Transaction Integrity<http://docs.google.com/View?id=dgxrkmrk_2hmk4fmhg> I'd like to use this as a starting point for discussion; specifically, i want to solicit feedback about the proposed solution approach (subsuming nested transaction blocks): Does it sound reasonable to change django.db.transaction's implementation to this? I know this is not a small change, but i think it should be worth it if transaction blocks are to be supported at all: there seems to be very little point in keeping the current implementation where declaring a transaction block doesn't actually make it transactional. (This probably affects a number of current Django tickets, including at least: #2227 <http://code.djangoproject.com/ticket/2227>, #6669<http://code.djangoproject.com/ticket/6669> , #9964 <http://code.djangoproject.com/ticket/9964>) -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.