From 72ff18d41cfb004ae180bdf87fd8bad93041c691 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Wed, 22 Jan 2025 22:21:09 -0500 Subject: Fixed #36120 -- Raised FieldError when targeting a composite primary key field with QuerySet.update(). --- tests/composite_pk/test_update.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/composite_pk/test_update.py b/tests/composite_pk/test_update.py index ec770230fc..5bc53f1fe1 100644 --- a/tests/composite_pk/test_update.py +++ b/tests/composite_pk/test_update.py @@ -1,3 +1,4 @@ +from django.core.exceptions import FieldError from django.db import connection from django.test import TestCase @@ -175,3 +176,9 @@ class CompositePKUpdateTests(TestCase): with self.assertRaisesMessage(ValueError, msg): Comment.objects.update(user=User()) + + def test_cant_update_pk_field(self): + qs = Comment.objects.filter(user__email=self.user_1.email) + msg = "Composite primary key fields must be updated individually." + with self.assertRaisesMessage(FieldError, msg): + qs.update(pk=(1, 10)) -- cgit v1.3