Hi, It seems that the contenttype framework and the sites contribs conflict with using the autocommit:True database option. I'm not really sure what happens but here is a simple test case that shows that the order of the tests causes a failure. It looks like from the SQL that the save point is being rolled back in a new transaction, not the transaction that the savepoint was created.
If I create a new django tests site with {{{ django-admin-2.6.py startproject sitecontenttypebug }}} Modify settings.py to use postgres autocommit {{{ DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', ... 'OPTIONS': { "autocommit": True, } } } }}} The minimum required to have the django tests fail is: {{{ python manage.py test contenttypes sites.SitesFrameworkTests.test_get_current_site }}} Switching the order causes no failure {{{ python manage.py test sites.SitesFrameworkTests.test_get_current_site contenttypes }}} Stack trace from the failure {{{ ====================================================================== ERROR: test_get_current_site (django.contrib.sites.tests.SitesFrameworkTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/test/testcases.py", line 257, in __call__ self._pre_setup() File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/test/testcases.py", line 224, in _pre_setup self._fixture_setup() File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/test/testcases.py", line 515, in _fixture_setup return super(TestCase, self)._fixture_setup() File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/test/testcases.py", line 236, in _fixture_setup call_command('flush', verbosity=0, interactive=False, database=db) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/core/management/__init__.py", line 166, in call_command return klass.execute(*args, **defaults) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute output = self.handle(*args, **options) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/core/management/base.py", line 351, in handle return self.handle_noargs(**options) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/core/management/commands/flush.py", line 75, in handle_noargs emit_post_sync_signal(all_models, verbosity, interactive, db) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/core/management/sql.py", line 182, in emit_post_sync_signal interactive=interactive, db=db) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/dispatch/dispatcher.py", line 172, in send response = receiver(signal=self, sender=sender, **named) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/contrib/auth/management/ __init__.py", line 28, in create_permissions defaults={'name': name, 'content_type': ctype}) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/db/models/manager.py", line 135, in get_or_create return self.get_query_set().get_or_create(**kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/db/models/query.py", line 387, in get_or_create transaction.savepoint_rollback(sid, using=self.db) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/db/transaction.py", line 242, in savepoint_rollback connection._savepoint_rollback(sid) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/db/backends/__init__.py", line 61, in _savepoint_rollback self.cursor().execute(self.ops.savepoint_rollback_sql(sid)) File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/ lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/ base.py", line 44, in execute return self.cursor.execute(query, args) DatabaseError: no such savepoint ---------------------------------------------------------------------- Ran 2 tests in 0.478s FAILED (errors=1) Destroying test database 'default'... }}} Offending SQL {{{ LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SELECT "auth_permission"."id", "auth_permission"."name", "auth_permission"."content_type_id", "auth_permission"."codename" FROM "auth_permission" WHERE ("auth_permission"."codename" = E'add_user' AND "auth_permission"."content_type_id" = 3 ) LOG: statement: SAVEPOINT s140735080041632_x1 LOG: statement: INSERT INTO "auth_permission" ("name", "content_type_id", "codename") VALUES (E'Can add user', 3, E'add_user') RETURNING "auth_permission"."id" LOG: statement: COMMIT ERROR: insert or update on table "auth_permission" violates foreign key constraint "content_type_id_refs_id_728de91f" DETAIL: Key (content_type_id)=(3) is not present in table "django_content_type". STATEMENT: COMMIT LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: ROLLBACK TO SAVEPOINT s140735080041632_x1 ERROR: no such savepoint STATEMENT: ROLLBACK TO SAVEPOINT s140735080041632_x1 LOG: statement: SHOW default_transaction_isolation LOG: statement: BEGIN; SET TRANSACTION ISOLATION LEVEL READ COMMITTED LOG: statement: SET TIME ZONE E'America/Chicago' LOG: statement: ROLLBACK LOG: statement: DROP DATABASE "test_jason_db" }}} Jason -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.