From efec74b90868c2e611f863bf4301d92ce08067e8 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Sat, 25 Jan 2025 19:13:13 -0500 Subject: Fixed #36122 -- Raised FieldError when updating with composite reference value. Thanks Jacob Walls for the report and test. --- tests/composite_pk/test_update.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests') diff --git a/tests/composite_pk/test_update.py b/tests/composite_pk/test_update.py index 5bc53f1fe1..697383b007 100644 --- a/tests/composite_pk/test_update.py +++ b/tests/composite_pk/test_update.py @@ -1,5 +1,6 @@ from django.core.exceptions import FieldError from django.db import connection +from django.db.models import F from django.test import TestCase from .models import Comment, Tenant, TimeStamped, Token, User @@ -182,3 +183,11 @@ class CompositePKUpdateTests(TestCase): msg = "Composite primary key fields must be updated individually." with self.assertRaisesMessage(FieldError, msg): qs.update(pk=(1, 10)) + + def test_update_value_not_composite(self): + msg = ( + "Composite primary keys expressions are not allowed in this " + "query (text=F('pk'))." + ) + with self.assertRaisesMessage(FieldError, msg): + Comment.objects.update(text=F("pk")) -- cgit v1.3