1
0
mirror of https://github.com/django/django.git synced 2025-09-18 06:59:12 +00:00

Refs #36606 -- Added tests for QuerySet.values_list(flat=True) without fields.

This commit is contained in:
Adam Johnson 2025-09-11 19:44:29 +01:00 committed by Jacob Walls
parent 4289966d1b
commit 2336d5d33a

View File

@ -327,6 +327,25 @@ class LookupTests(TestCase):
def test_values(self):
# values() returns a list of dictionaries instead of object instances,
# and you can specify which fields you want to retrieve.
self.assertSequenceEqual(
Article.objects.filter(id__in=(self.a5.id, self.a6.id)).values(),
[
{
"id": self.a5.id,
"headline": "Article 5",
"pub_date": datetime(2005, 8, 1, 9, 0),
"author_id": self.au2.id,
"slug": "a5",
},
{
"id": self.a6.id,
"headline": "Article 6",
"pub_date": datetime(2005, 8, 1, 8, 0),
"author_id": self.au2.id,
"slug": "a6",
},
],
)
self.assertSequenceEqual(
Article.objects.values("headline"),
[
@ -522,6 +541,37 @@ class LookupTests(TestCase):
# returned as a list of tuples, rather than a list of dictionaries.
# Within each tuple, the order of the elements is the same as the order
# of fields in the values_list() call.
self.assertSequenceEqual(
Article.objects.filter(id__in=(self.a5.id, self.a6.id)).values_list(),
[
(
self.a5.id,
"Article 5",
datetime(2005, 8, 1, 9, 0),
self.au2.id,
"a5",
),
(
self.a6.id,
"Article 6",
datetime(2005, 8, 1, 8, 0),
self.au2.id,
"a6",
),
],
)
self.assertSequenceEqual(
Article.objects.values_list(flat=True),
[
self.a5.id,
self.a6.id,
self.a4.id,
self.a2.id,
self.a3.id,
self.a7.id,
self.a1.id,
],
)
self.assertSequenceEqual(
Article.objects.values_list("headline"),
[