summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2025-02-17 13:45:31 -0500
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-02-18 11:45:45 +0100
commit8488074fe38edbea6c4ec822c59c7c45d0669a91 (patch)
treedf6ad6370254fe5d4b84b80acfd6c6cf1a5ef35e /django
parenta9d03c409406f3f95f692bc5545ebacc7f4e2e4f (diff)
[5.1.x] 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. Backport of c3a23aa02faa1cf1d32e43d66858e793cd9ecac4 from main.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/related_descriptors.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py
index bc288c47ec..6541df1b7c 100644
--- a/django/db/models/fields/related_descriptors.py
+++ b/django/db/models/fields/related_descriptors.py
@@ -1219,7 +1219,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: