Du kan oprette en Median
underordnet klasse af Aggregate
klasse, som det blev udført af Ryan Murphy (https://gist.github.com/rdmurphy/3f73c7b18aeb1826c7b215eb1825eb1825eb125eb125eb1825eb185eb a> ). Median
fungerer derefter ligesom Avg
:
from django.db.models import Aggregate, FloatField
class Median(Aggregate):
function = 'PERCENTILE_CONT'
name = 'median'
output_field = FloatField()
template = '%(function)s(0.5) WITHIN GROUP (ORDER BY %(expressions)s)'
Derefter for at finde medianen af en markanvendelse
my_model_aggregate = MyModel.objects.all().aggregate(Median('period'))
som derefter er tilgængelig som my_model_aggregate['period__median']
.