[1.11.x] Fixed #28352 -- Corrected QuerySet.values_list() return type in docs examples.
Backport ofbabe9e64a6
and2457c1866e
from master
This commit is contained in:
parent
b2ebc47a22
commit
fe7b456825
|
@ -110,7 +110,7 @@ A simple example::
|
||||||
... output_field=CharField(),
|
... output_field=CharField(),
|
||||||
... ),
|
... ),
|
||||||
... ).values_list('name', 'discount')
|
... ).values_list('name', 'discount')
|
||||||
[('Jane Doe', '0%'), ('James Smith', '5%'), ('Jack Black', '10%')]
|
<QuerySet [('Jane Doe', '0%'), ('James Smith', '5%'), ('Jack Black', '10%')]>
|
||||||
|
|
||||||
``Case()`` accepts any number of ``When()`` objects as individual arguments.
|
``Case()`` accepts any number of ``When()`` objects as individual arguments.
|
||||||
Other options are provided using keyword arguments. If none of the conditions
|
Other options are provided using keyword arguments. If none of the conditions
|
||||||
|
@ -132,7 +132,7 @@ the ``Client`` has been with us, we could do so using lookups::
|
||||||
... output_field=CharField(),
|
... output_field=CharField(),
|
||||||
... )
|
... )
|
||||||
... ).values_list('name', 'discount')
|
... ).values_list('name', 'discount')
|
||||||
[('Jane Doe', '5%'), ('James Smith', '0%'), ('Jack Black', '10%')]
|
<QuerySet [('Jane Doe', '5%'), ('James Smith', '0%'), ('Jack Black', '10%')]>
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ registered more than a year ago::
|
||||||
... When(account_type=Client.PLATINUM, then=a_year_ago),
|
... When(account_type=Client.PLATINUM, then=a_year_ago),
|
||||||
... ),
|
... ),
|
||||||
... ).values_list('name', 'account_type')
|
... ).values_list('name', 'account_type')
|
||||||
[('Jack Black', 'P')]
|
<QuerySet [('Jack Black', 'P')]>
|
||||||
|
|
||||||
Advanced queries
|
Advanced queries
|
||||||
================
|
================
|
||||||
|
@ -182,7 +182,7 @@ their registration dates. We can do this using a conditional expression and the
|
||||||
... ),
|
... ),
|
||||||
... )
|
... )
|
||||||
>>> Client.objects.values_list('name', 'account_type')
|
>>> Client.objects.values_list('name', 'account_type')
|
||||||
[('Jane Doe', 'G'), ('James Smith', 'R'), ('Jack Black', 'P')]
|
<QuerySet [('Jane Doe', 'G'), ('James Smith', 'R'), ('Jack Black', 'P')]>
|
||||||
|
|
||||||
Conditional aggregation
|
Conditional aggregation
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
|
@ -635,20 +635,20 @@ respective field or expression passed into the ``values_list()`` call — so the
|
||||||
first item is the first field, etc. For example::
|
first item is the first field, etc. For example::
|
||||||
|
|
||||||
>>> Entry.objects.values_list('id', 'headline')
|
>>> Entry.objects.values_list('id', 'headline')
|
||||||
[(1, 'First entry'), ...]
|
<QuerySet [(1, 'First entry'), ...]>
|
||||||
>>> from django.db.models.functions import Lower
|
>>> from django.db.models.functions import Lower
|
||||||
>>> Entry.objects.values_list('id', Lower('headline'))
|
>>> Entry.objects.values_list('id', Lower('headline'))
|
||||||
[(1, 'first entry'), ...]
|
<QuerySet [(1, 'first entry'), ...]>
|
||||||
|
|
||||||
If you only pass in a single field, you can also pass in the ``flat``
|
If you only pass in a single field, you can also pass in the ``flat``
|
||||||
parameter. If ``True``, this will mean the returned results are single values,
|
parameter. If ``True``, this will mean the returned results are single values,
|
||||||
rather than one-tuples. An example should make the difference clearer::
|
rather than one-tuples. An example should make the difference clearer::
|
||||||
|
|
||||||
>>> Entry.objects.values_list('id').order_by('id')
|
>>> Entry.objects.values_list('id').order_by('id')
|
||||||
[(1,), (2,), (3,), ...]
|
<QuerySet[(1,), (2,), (3,), ...]>
|
||||||
|
|
||||||
>>> Entry.objects.values_list('id', flat=True).order_by('id')
|
>>> Entry.objects.values_list('id', flat=True).order_by('id')
|
||||||
[1, 2, 3, ...]
|
<QuerySet [1, 2, 3, ...]>
|
||||||
|
|
||||||
It is an error to pass in ``flat`` when there is more than one field.
|
It is an error to pass in ``flat`` when there is more than one field.
|
||||||
|
|
||||||
|
@ -671,10 +671,10 @@ For example, notice the behavior when querying across a
|
||||||
:class:`~django.db.models.ManyToManyField`::
|
:class:`~django.db.models.ManyToManyField`::
|
||||||
|
|
||||||
>>> Author.objects.values_list('name', 'entry__headline')
|
>>> Author.objects.values_list('name', 'entry__headline')
|
||||||
[('Noam Chomsky', 'Impressions of Gaza'),
|
<QuerySet [('Noam Chomsky', 'Impressions of Gaza'),
|
||||||
('George Orwell', 'Why Socialists Do Not Believe in Fun'),
|
('George Orwell', 'Why Socialists Do Not Believe in Fun'),
|
||||||
('George Orwell', 'In Defence of English Cooking'),
|
('George Orwell', 'In Defence of English Cooking'),
|
||||||
('Don Quixote', None)]
|
('Don Quixote', None)]>
|
||||||
|
|
||||||
Authors with multiple entries appear multiple times and authors without any
|
Authors with multiple entries appear multiple times and authors without any
|
||||||
entries have ``None`` for the entry headline.
|
entries have ``None`` for the entry headline.
|
||||||
|
@ -683,7 +683,7 @@ Similarly, when querying a reverse foreign key, ``None`` appears for entries
|
||||||
not having any author::
|
not having any author::
|
||||||
|
|
||||||
>>> Entry.objects.values_list('authors')
|
>>> Entry.objects.values_list('authors')
|
||||||
[('Noam Chomsky',), ('George Orwell',), (None,)]
|
<QuerySet [('Noam Chomsky',), ('George Orwell',), (None,)]>
|
||||||
|
|
||||||
.. versionchanged:: 1.11
|
.. versionchanged:: 1.11
|
||||||
|
|
||||||
|
|
|
@ -229,7 +229,7 @@ ones:
|
||||||
>>> fruit.name = 'Pear'
|
>>> fruit.name = 'Pear'
|
||||||
>>> fruit.save()
|
>>> fruit.save()
|
||||||
>>> Fruit.objects.values_list('name', flat=True)
|
>>> Fruit.objects.values_list('name', flat=True)
|
||||||
['Apple', 'Pear']
|
<QuerySet ['Apple', 'Pear']>
|
||||||
|
|
||||||
:attr:`~Field.unique`
|
:attr:`~Field.unique`
|
||||||
If ``True``, this field must be unique throughout the table.
|
If ``True``, this field must be unique throughout the table.
|
||||||
|
|
Loading…
Reference in New Issue