          Prepare the query for computing a result that contains aggregate annotations.
          """
          self.query.set_group_by()
  
          super(ValuesQuerySet, self)._setup_aggregate_query()
  
      def as_sql(self):
          """
          For ValueQuerySet (and subclasses like ValuesListQuerySet), they can
          only be used as nested queries if they're already set up to select only
 
</s> remove     def _setup_aggregate_query(self):
 </s> add     def _setup_aggregate_query(self, aggregates): </s> remove     def _setup_aggregate_query(self):
 </s> add     def _setup_aggregate_query(self, aggregates): </s> remove         obj._setup_aggregate_query()
 </s> add         obj._setup_aggregate_query(kwargs.keys()) </s> remove         self.aggregate_select = SortedDict() # Maps alias -> SQL aggregate function
 </s> add         self.aggregates = SortedDict() # Maps alias -> SQL aggregate function
        self.aggregate_select_mask = None
        self._aggregate_select_cache = None
        if self.aggregate_names is not None:
            self.aggregate_names.extend(aggregates)
            self.query.set_aggregate_mask(self.aggregate_names)

        super(ValuesQuerySet, self)._setup_aggregate_query(aggregates)
          Prepare the query for computing a result that contains aggregate annotations.
          """
          self.query.set_group_by()
  
        if self.aggregate_names is not None:
            self.aggregate_names.extend(aggregates)
            self.query.set_aggregate_mask(self.aggregate_names)

        super(ValuesQuerySet, self)._setup_aggregate_query(aggregates)
  
      def as_sql(self):
          """
          For ValueQuerySet (and subclasses like ValuesListQuerySet), they can
          only be used as nested queries if they're already set up to select only
keep keep keep keep replace keep keep keep keep keep
 Fixed #10182 -- Corrected realiasing and the process of evaluating values() for queries with aggregate clauses. This means that aggregate queries can now be used as subqueries (such as in an __in clause). Thanks to omat for the report.

This involves a slight change to the interaction of annotate() and values() clauses that specify a list of columns. See the docs for details.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@9888 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/db/models/query.py