<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/force_insert_update/tests.py, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2025-03-10T20:09:15Z</updated>
<entry>
<title>Fixed #33579 -- Specialized exception raised on forced update failures.</title>
<updated>2025-03-10T20:09:15Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-03-09T11:04:16Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ab148c02cedbac492f29930dcd5346e1af052635'/>
<id>urn:sha1:ab148c02cedbac492f29930dcd5346e1af052635</id>
<content type='text'>
Raising DatabaseError directly made it harder than it should to
differentiate between IntegrityError when a forced update resulted in no
affected rows.

Introducing a specialized exception allows for callers to more easily
silence, log, or turn them update failures into user facing exceptions
(e.g. 404s).

Thanks Mariusz for the review.
</content>
</entry>
<entry>
<title>Fixed #30382 -- Allowed specifying parent classes in force_insert of Model.save().</title>
<updated>2023-06-29T19:52:52Z</updated>
<author>
<name>Akash Kumar Sen</name>
<email>Akash-Kumar-Sen@users.noreply.github.com</email>
</author>
<published>2023-06-22T12:53:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a40b0103bccb8216c944188d329d8ea5eceb7e92'/>
<id>urn:sha1:a40b0103bccb8216c944188d329d8ea5eceb7e92</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #30382 -- Added more tests for using force_insert with model inheritance.</title>
<updated>2023-06-29T09:49:32Z</updated>
<author>
<name>Akash Kumar Sen</name>
<email>Akash-Kumar-Sen@users.noreply.github.com</email>
</author>
<published>2023-06-29T09:47:42Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=ce204bed7f59e34a9ec226e1699db257ec33da30'/>
<id>urn:sha1:ce204bed7f59e34a9ec226e1699db257ec33da30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #33476 -- Reformatted code with Black.</title>
<updated>2022-02-07T19:37:05Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2022-02-03T19:24:19Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9c19aff7c7561e3a82978a272ecdaad40dda5c00'/>
<id>urn:sha1:9c19aff7c7561e3a82978a272ecdaad40dda5c00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Used assertRaisesMessage() to test Django's error messages.</title>
<updated>2017-07-29T23:07:23Z</updated>
<author>
<name>Mads Jensen</name>
<email>mje@inducks.org</email>
</author>
<published>2017-05-28T19:37:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a51c4de1945be2225f20fad794cfb52d8f1f9236'/>
<id>urn:sha1:a51c4de1945be2225f20fad794cfb52d8f1f9236</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #23919 -- Removed encoding preambles and future imports</title>
<updated>2017-01-18T08:55:19Z</updated>
<author>
<name>Claude Paroz</name>
<email>claude@2xlibre.net</email>
</author>
<published>2016-11-19T17:19:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d7b9aaa366dd54ecc3142c588162e3adc7c2f7ac'/>
<id>urn:sha1:d7b9aaa366dd54ecc3142c588162e3adc7c2f7ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Sorted imports with isort; refs #23860.</title>
<updated>2015-02-06T13:16:28Z</updated>
<author>
<name>Tim Graham</name>
<email>timograham@gmail.com</email>
</author>
<published>2015-01-28T12:35:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=0ed7d155635da9f79d4dd67e4889087d3673c6da'/>
<id>urn:sha1:0ed7d155635da9f79d4dd67e4889087d3673c6da</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #21134 -- Prevented queries in broken transactions.</title>
<updated>2013-09-30T07:42:27Z</updated>
<author>
<name>Aymeric Augustin</name>
<email>aymeric.augustin@m4x.org</email>
</author>
<published>2013-09-22T20:14:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=728548e483a5a3486939b0c8e62520296587482e'/>
<id>urn:sha1:728548e483a5a3486939b0c8e62520296587482e</id>
<content type='text'>
Squashed commit of the following:

commit 63ddb271a44df389b2c302e421fc17b7f0529755
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Sep 29 22:51:00 2013 +0200

    Clarified interactions between atomic and exceptions.

commit 2899ec299228217c876ba3aa4024e523a41c8504
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Sep 22 22:45:32 2013 +0200

    Fixed TransactionManagementError in tests.

    Previous commit introduced an additional check to prevent running
    queries in transactions that will be rolled back, which triggered a few
    failures in the tests. In practice using transaction.atomic instead of
    the low-level savepoint APIs was enough to fix the problems.

commit 4a639b059ea80aeb78f7f160a7d4b9f609b9c238
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Tue Sep 24 22:24:17 2013 +0200

    Allowed nesting constraint_checks_disabled inside atomic.

    Since MySQL handles transactions loosely, this isn't a problem.

commit 2a4ab1cb6e83391ff7e25d08479e230ca564bfef
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sat Sep 21 18:43:12 2013 +0200

    Prevented running queries in transactions that will be rolled back.

    This avoids a counter-intuitive behavior in an edge case on databases
    with non-atomic transaction semantics.

    It prevents using savepoint_rollback() inside an atomic block without
    calling set_rollback(False) first, which is backwards-incompatible in
    tests.

    Refs #21134.

commit 8e3db393853c7ac64a445b66e57f3620a3fde7b0
Author: Aymeric Augustin &lt;aymeric.augustin@m4x.org&gt;
Date:   Sun Sep 22 22:14:17 2013 +0200

    Replaced manual savepoints by atomic blocks.

    This ensures the rollback flag is handled consistently in internal APIs.
</content>
</entry>
<entry>
<title>Removed most of absolute_import imports</title>
<updated>2013-07-29T18:28:13Z</updated>
<author>
<name>Claude Paroz</name>
<email>claude@2xlibre.net</email>
</author>
<published>2013-07-29T17:19:04Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=5c1143910e071c73671424036408c4548742d24f'/>
<id>urn:sha1:5c1143910e071c73671424036408c4548742d24f</id>
<content type='text'>
Should be unneeded with Python 2.7 and up.
Added some unicode_literals along the way.
</content>
</entry>
<entry>
<title>Merged regressiontests and modeltests into the test root.</title>
<updated>2013-02-26T13:36:57Z</updated>
<author>
<name>Florian Apolloner</name>
<email>florian@apolloner.eu</email>
</author>
<published>2013-02-26T08:53:47Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=89f40e36246100df6a11316c31a76712ebc6c501'/>
<id>urn:sha1:89f40e36246100df6a11316c31a76712ebc6c501</id>
<content type='text'>
</content>
</entry>
</feed>
