1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #35425 -- Avoided INSERT with force_update and explicit pk.

Affected models where the primary key field is defined with a
default or db_default, such as UUIDField.
This commit is contained in:
Jacob Walls
2024-05-04 17:11:07 -04:00
committed by Sarah Boyce
parent 34a503162f
commit ceea86baa3
2 changed files with 7 additions and 0 deletions

View File

@@ -186,6 +186,12 @@ class ModelInstanceCreationTests(TestCase):
with self.assertNumQueries(1):
PrimaryKeyWithDefault().save()
def test_save_primary_with_default_force_update(self):
# An UPDATE attempt is made if explicitly requested.
obj = PrimaryKeyWithDefault.objects.create()
with self.assertNumQueries(1):
PrimaryKeyWithDefault(uuid=obj.pk).save(force_update=True)
def test_save_primary_with_db_default(self):
# An UPDATE attempt is skipped when a primary key has db_default.
with self.assertNumQueries(1):