आप एक Median
बना सकते हैं Aggregate
. का चाइल्ड क्लास क्लास जैसा कि रयान मर्फी ने किया था (https://gist.github.com/rdmurphy/3f73c7b1826cacee34f6c2a
ए> ) Median
फिर 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)'
फिर फ़ील्ड उपयोग का माध्यिका ज्ञात करने के लिए
my_model_aggregate = MyModel.objects.all().aggregate(Median('period'))
जो तब my_model_aggregate['period__median']
. के रूप में उपलब्ध होता है ।