Median
を作成できます Aggregate
の子クラス ライアン・マーフィーが行ったクラス( https://gist.github.com/rdmurphy/3f73c7b1826cacee34f6c2a855 a> )。 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']
として利用できます。 。