class Aggregate(expression, output_field=None, **extra)
[source]
-
template
-
A class attribute, as a format string, that describes the SQL that is generated for this aggregate. Defaults to
'%(function)s( %(expressions)s )'
.
-
function
-
A class attribute describing the aggregate function that will be generated. Specifically, the
function
will be interpolated as thefunction
placeholder withintemplate
. Defaults toNone
.
The expression
argument can be the name of a field on the model, or another expression. It 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 after it’s retrieved from the database. Usually no arguments are needed when instantiating the model field as any arguments relating to data validation (max_length
, max_digits
, etc.) will not be enforced on the expression’s output value.
Note that output_field
is only required when Django is unable to determine what field type the result should be. Complex expressions that mix field types should define the desired output_field
. For example, adding an IntegerField()
and a FloatField()
together should probably have output_field=FloatField()
defined.
The **extra
kwargs are key=value
pairs that can be interpolated into the template
attribute.
Please login to continue.