I think Mike De Simon's answer is correct.
As for the database, depending on the version of MySQL you are using (if you are using it), it may be that your database uses the MyISAM mechanism, which does not support transactions.
To verify this, simply run mysql in the shell:
SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'your_db_name' ;
You can modify your tables in InnoDB and set default_storage_engine for innodb in your MySQL configuration. (More info here: http://parasjain.net/2010/06/08/how-to-switch-to-innodb-database-in-mysql/ .
After that, transactions should work. Better to use Postgres, but if you want to use MySQL / InnoDB, then you probably need a workaround to download shortcuts with direct links (BugFix is ββalready present in Django Trunk, and I also ported it to Django 1.3.1, see Django 1.3 .1.1 on Github ).
source share