1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

[5.2.x] Fixed #36288 -- Addressed improper handling of duplicates in values_list().

Now that selected aliases are stored in sql.Query.selected: dict[str, Any]
the values_list() method must ensures that duplicate field name references are
assigned unique aliases.

Refs #28900.

Regression in 65ad4ade74.

Thanks Claude for the report.

Backport of 21f8be76d4 from main.
This commit is contained in:
Simon Charette
2025-04-02 18:53:36 -04:00
committed by Sarah Boyce
parent 0ba34e7ca0
commit b97af5e696
4 changed files with 35 additions and 16 deletions

View File

@@ -2668,6 +2668,12 @@ class ValuesQuerysetTests(TestCase):
qs = qs.values_list("num", flat=True)
self.assertSequenceEqual(qs, [72])
def test_duplicate_values_list(self):
value = Number.objects.values_list("num", "num").get()
self.assertEqual(value, (72, 72))
value = Number.objects.values_list(F("num"), F("num")).get()
self.assertEqual(value, (72, 72))
def test_extra_values(self):
# testing for ticket 14930 issues
qs = Number.objects.extra(