mirror of
https://github.com/django/django.git
synced 2025-10-29 16:46:11 +00:00
Fixed #12608 -- No longer return inconsistent results when using values and values_list in conjunction with annotate. Thanks, Charlie Leifer.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12505 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
1
AUTHORS
1
AUTHORS
@@ -289,6 +289,7 @@ answer newbie questions, and generally made Django that much better:
|
||||
Christopher Lenz <http://www.cmlenz.net/>
|
||||
lerouxb@gmail.com
|
||||
Piotr Lewandowski <piotr.lewandowski@gmail.com>
|
||||
Charlie Leifer <coleifer@gmail.com>
|
||||
Justin Lilly <justinlilly@gmail.com>
|
||||
Waylan Limberg <waylan@gmail.com>
|
||||
limodou
|
||||
|
||||
@@ -954,7 +954,8 @@ class ValuesListQuerySet(ValuesQuerySet):
|
||||
# If a field list has been specified, use it. Otherwise, use the
|
||||
# full list of fields, including extras and aggregates.
|
||||
if self._fields:
|
||||
fields = self._fields
|
||||
fields = list(self._fields) + filter(lambda f: f not in self._fields,
|
||||
aggregate_names)
|
||||
else:
|
||||
fields = names
|
||||
|
||||
|
||||
@@ -362,4 +362,7 @@ True
|
||||
>>> Book.objects.filter(pk=1).annotate(mean_age=Avg('authors__age')).values_list('mean_age', flat=True)
|
||||
[34.5]
|
||||
|
||||
>>> Book.objects.values_list('price').annotate(count=Count('price')).order_by('-count', 'price')
|
||||
[(Decimal('29.69'), 2), (Decimal('23.09'), 1), (Decimal('30'), 1), (Decimal('75'), 1), (Decimal('82.8'), 1)]
|
||||
|
||||
"""}
|
||||
|
||||
Reference in New Issue
Block a user