Commit 499c7155 authored by Justin Bronn's avatar Justin Bronn
Browse files

[1.1.X] Fixed #12608 -- No longer return inconsistent results when using...

[1.1.X] Fixed #12608  -- No longer return inconsistent results when using values and values_list in conjunction with annotate. Thanks, Charlie Leifer.

Backport of r12505 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12613 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 7c23a530
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -871,6 +871,8 @@ class ValuesListQuerySet(ValuesQuerySet):
            # 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

+3 −0
Original line number Diff line number Diff line
@@ -362,4 +362,7 @@ True
>>> Book.objects.filter(pk=1).annotate(mean_age=Avg('authors__age')).values_list('mean_age', flat=True)
[34.5]

>>> qs = Book.objects.values_list('price').annotate(count=Count('price')).order_by('-count', 'price')
>>> list(qs) == [(Decimal('29.69'), 2), (Decimal('23.09'), 1), (Decimal('30'), 1), (Decimal('75'), 1), (Decimal('82.8'), 1)]
True
"""}