          source expression in :class:`~django.db.models.expressions.Window`.
  
  The ``expressions`` positional arguments can include expressions or the names
  of model fields. They will be converted to a string and used as the
  ``expressions`` placeholder within the ``template``.
  
  The ``output_field`` argument requires a model field instance, like
  ``IntegerField()`` or ``BooleanField()``, into which Django will load the value
 
</s> remove .. class:: Aggregate(*expressions, output_field=None, filter=None, **extra)
 </s> add .. class:: Aggregate(*expressions, output_field=None, distinct=False, filter=None, **extra) </s> remove         super().__init__(*args, **kwargs)
 </s> add         super().__init__(*expressions, **extra)
    .. attribute:: allow_distinct

        .. versionadded:: 2.2

        A class attribute determining whether or not this aggregate function
        allows passing a ``distinct`` keyword argument. If set to ``False``
        (default), ``TypeError`` is raised if ``distinct=True`` is passed.

          source expression in :class:`~django.db.models.expressions.Window`.
  
    .. attribute:: allow_distinct

        .. versionadded:: 2.2

        A class attribute determining whether or not this aggregate function
        allows passing a ``distinct`` keyword argument. If set to ``False``
        (default), ``TypeError`` is raised if ``distinct=True`` is passed.

  The ``expressions`` positional arguments can include expressions or the names
  of model fields. They will be converted to a string and used as the
  ``expressions`` placeholder within the ``template``.
  
  The ``output_field`` argument requires a model field instance, like
  ``IntegerField()`` or ``BooleanField()``, into which Django will load the value
keep add keep keep keep keep keep keep
 Fixed #28658 -- Added DISTINCT handling to the Aggregate class. 
docs/ref/models/expressions.txt