| 1 |   | Ah sorry I had an environment issue , here's the exception I'm getting for 3.2.16: | 
          
          
            | 2 |   |  | 
          
          
            | 3 |   | {{{ | 
          
          
            | 4 |   | ====================================================================== | 
          
          
            | 5 |   | ERROR: test_update_or_create (ticket_34523.tests.TransactionManagementErrorTest.test_update_or_create) | 
          
          
            | 6 |   | ---------------------------------------------------------------------- | 
          
          
            | 7 |   | Traceback (most recent call last): | 
          
          
            | 8 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 581, in get_or_create | 
          
          
            | 9 |   |     return self.get(**kwargs), False | 
          
          
            | 10 |   |            ^^^^^^^^^^^^^^^^^^ | 
          
          
            | 11 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 435, in get | 
          
          
            | 12 |   |     raise self.model.DoesNotExist( | 
          
          
            | 13 |   | ticket_34523.tests.TransactionManagementErrorTest.TestModel.DoesNotExist: TestModel matching query does not exist. | 
          
          
            | 14 |   |  | 
          
          
            | 15 |   | During handling of the above exception, another exception occurred: | 
          
          
            | 16 |   |  | 
          
          
            | 17 |   | Traceback (most recent call last): | 
          
          
            | 18 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute | 
          
          
            | 19 |   |     return self.cursor.execute(sql, params) | 
          
          
            | 20 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 21 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 423, in execute | 
          
          
            | 22 |   |     return Database.Cursor.execute(self, query, params) | 
          
          
            | 23 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 24 |   | sqlite3.IntegrityError: UNIQUE constraint failed: test_model_update_or_create.id | 
          
          
            | 25 |   |  | 
          
          
            | 26 |   | The above exception was the direct cause of the following exception: | 
          
          
            | 27 |   |  | 
          
          
            | 28 |   | Traceback (most recent call last): | 
          
          
            | 29 |   |   File "/Users/dsanders/projects/django-sample-3_2/ticket_34523/tests.py", line 42, in test_update_or_create | 
          
          
            | 30 |   |     self.TestModel.objects.update_or_create(id=1, defaults={"field": 2}) | 
          
          
            | 31 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/manager.py", line 85, in manager_method | 
          
          
            | 32 |   |     return getattr(self.get_queryset(), name)(*args, **kwargs) | 
          
          
            | 33 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 34 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 608, in update_or_create | 
          
          
            | 35 |   |     obj, created = self.select_for_update().get_or_create(defaults, **kwargs) | 
          
          
            | 36 |   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 37 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 588, in get_or_create | 
          
          
            | 38 |   |     return self.create(**params), True | 
          
          
            | 39 |   |            ^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 40 |   |   File "/Users/dsanders/projects/django-sample-3_2/ticket_34523/tests.py", line 16, in create | 
          
          
            | 41 |   |     return super().create(**kwargs) | 
          
          
            | 42 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 43 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 453, in create | 
          
          
            | 44 |   |     obj.save(force_insert=True, using=self.db) | 
          
          
            | 45 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/base.py", line 739, in save | 
          
          
            | 46 |   |     self.save_base(using=using, force_insert=force_insert, | 
          
          
            | 47 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/base.py", line 776, in save_base | 
          
          
            | 48 |   |     updated = self._save_table( | 
          
          
            | 49 |   |               ^^^^^^^^^^^^^^^^^ | 
          
          
            | 50 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/base.py", line 881, in _save_table | 
          
          
            | 51 |   |     results = self._do_insert(cls._base_manager, using, fields, returning_fields, raw) | 
          
          
            | 52 |   |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 53 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/base.py", line 919, in _do_insert | 
          
          
            | 54 |   |     return manager._insert( | 
          
          
            | 55 |   |            ^^^^^^^^^^^^^^^^ | 
          
          
            | 56 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/manager.py", line 85, in manager_method | 
          
          
            | 57 |   |     return getattr(self.get_queryset(), name)(*args, **kwargs) | 
          
          
            | 58 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 59 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/query.py", line 1270, in _insert | 
          
          
            | 60 |   |     return query.get_compiler(using=using).execute_sql(returning_fields) | 
          
          
            | 61 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 62 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/models/sql/compiler.py", line 1416, in execute_sql | 
          
          
            | 63 |   |     cursor.execute(sql, params) | 
          
          
            | 64 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/utils.py", line 66, in execute | 
          
          
            | 65 |   |     return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) | 
          
          
            | 66 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 67 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/utils.py", line 75, in _execute_with_wrappers | 
          
          
            | 68 |   |     return executor(sql, params, many, context) | 
          
          
            | 69 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 70 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/utils.py", line 79, in _execute | 
          
          
            | 71 |   |     with self.db.wrap_database_errors: | 
          
          
            | 72 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/utils.py", line 90, in __exit__ | 
          
          
            | 73 |   |     raise dj_exc_value.with_traceback(traceback) from exc_value | 
          
          
            | 74 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/utils.py", line 84, in _execute | 
          
          
            | 75 |   |     return self.cursor.execute(sql, params) | 
          
          
            | 76 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 77 |   |   File "/Users/dsanders/projects/django-sample-3_2/.direnv/python-3.11.2/lib/python3.11/site-packages/django/db/backends/sqlite3/base.py", line 423, in execute | 
          
          
            | 78 |   |     return Database.Cursor.execute(self, query, params) | 
          
          
            | 79 |   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | 
          
          
            | 80 |   | django.db.utils.IntegrityError: UNIQUE constraint failed: test_model_update_or_create.id | 
          
          
            | 81 |   |  | 
          
          
            | 82 |   | ---------------------------------------------------------------------- | 
          
          
            | 83 |   | Ran 1 test in 1.192s | 
          
          
            | 84 |   |  | 
          
          
            | 85 |   | FAILED (errors=1) | 
          
          
            | 86 |   | }}} |