summaryrefslogtreecommitdiff
path: root/tests/prefetch_related/models.py
diff options
context:
space:
mode:
authorClifford Gama <cliffygamy@gmail.com>2025-03-15 11:13:46 +0200
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-03-26 09:55:38 +0100
commitd5c19f9b327fccc1f707e10de648fe9d4cdacb9b (patch)
tree5d9d0aa6b358b1b0204c2917192c1039081b56ac /tests/prefetch_related/models.py
parent7d9aab8da0a06787d649762a702e1a518d843a63 (diff)
Fixed #34819 -- Made GenericForeignKey prefetching use matching pk representations.
Ensured that rel_obj_attr and instance_attr return matching (pk, cls) tuples in GenericForeignKey.get_prefetch_queryset(), preventing mismatches when prefetching related objects where pk and get_prep_value() differ. Using value_to_string() also makes this code compatible with composite primary keys.
Diffstat (limited to 'tests/prefetch_related/models.py')
-rw-r--r--tests/prefetch_related/models.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/prefetch_related/models.py b/tests/prefetch_related/models.py
index 2f37cde1c8..e12eabdfb2 100644
--- a/tests/prefetch_related/models.py
+++ b/tests/prefetch_related/models.py
@@ -216,6 +216,15 @@ class Comment(models.Model):
ordering = ["id"]
+class ArticleCustomUUID(models.Model):
+ class CustomUUIDField(models.UUIDField):
+ def get_prep_value(self, value):
+ return str(value)
+
+ id = CustomUUIDField(primary_key=True, default=uuid.uuid4)
+ name = models.CharField(max_length=30)
+
+
# Models for lookup ordering tests