summaryrefslogtreecommitdiff
path: root/tests/composite_pk
diff options
context:
space:
mode:
authorJacob Walls <jacobtylerwalls@gmail.com>2025-01-07 06:28:57 -0500
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-01-10 08:23:39 +0100
commit0fb51ec5a0ab445aa178761f80f7415ac8098998 (patch)
tree1055b00a57a32e64432539c23cc3f7f492f6485d /tests/composite_pk
parentaf6336f2c82fd6e5a0e42a7650a3a132c3362a0f (diff)
Fixed #36068 -- Raised ValueError when providing a composite PK field to bulk_create() update_fields.
Diffstat (limited to 'tests/composite_pk')
-rw-r--r--tests/composite_pk/test_create.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/tests/composite_pk/test_create.py b/tests/composite_pk/test_create.py
index 7c9925b946..a007952f66 100644
--- a/tests/composite_pk/test_create.py
+++ b/tests/composite_pk/test_create.py
@@ -1,4 +1,4 @@
-from django.test import TestCase
+from django.test import TestCase, skipUnlessDBFeature
from .models import Tenant, User
@@ -77,6 +77,21 @@ class CompositePKCreateTests(TestCase):
self.assertEqual(obj_3.pk, (obj_3.tenant_id, obj_3.id))
self.assertEqual(obj_3.email, "user8214@example.com")
+ @skipUnlessDBFeature(
+ "supports_update_conflicts",
+ "supports_update_conflicts_with_target",
+ )
+ def test_bulk_create_user_with_pk_field_in_update_fields(self):
+ objs = [User(tenant=self.tenant, id=8291, email="user8291@example.com")]
+ msg = "bulk_create() cannot be used with primary keys in update_fields."
+ with self.assertRaisesMessage(ValueError, msg):
+ User.objects.bulk_create(
+ objs,
+ update_conflicts=True,
+ update_fields=["tenant_id"],
+ unique_fields=["id", "tenant_id"],
+ )
+
def test_get_or_create_user(self):
test_cases = (
{