From c3a23aa02faa1cf1d32e43d66858e793cd9ecac4 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Mon, 17 Feb 2025 13:45:31 -0500 Subject: Fixed #36197 -- Fixed improper many-to-many count() and exists() for non-pk to_field. Regression in 66e47ac69a7e71cf32eee312d05668d8f1ba24bb. Thanks mfontana-elem for the report and Sarah for the tests. --- django/db/models/fields/related_descriptors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'django') diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index d461580acf..77ebe798b4 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -1172,7 +1172,7 @@ def create_forward_many_to_many_manager(superclass, rel, reverse): return None hints = {"instance": self.instance} manager = self.through._base_manager.db_manager(db, hints=hints) - filters = {self.source_field_name: self.instance.pk} + filters = {self.source_field_name: self.related_val[0]} # Nullable target rows must be excluded as well as they would have # been filtered out from an INNER JOIN. if self.target_field.null: -- cgit v1.3