我有一个按年龄分列的男女人口数据集。我想计算平均值。特别是2018年的(男性+女性)/ 2等。请参阅下面的代码示例:
views.py
def Nufus_ilce(request):
dataset = models.population.objects.all()
means =
context = {
'dataset': dataset,
'means': means,
}
return render(request, 'population.html', context)
population.html
{{ dataset.year }}
{{ dataset.man }}
{{ dataset.woman }}
{{ means }}
那我该如何计算均值?
答案 0 :(得分:0)
您可以注释原始的查询集,而不是创建新的查询集,例如:
from django.db.models import F
def Nufus_ilce(request):
dataset = models.population.objects.annotate(
mean=(F('man') + F('woman'))/2
)
context = {
'dataset': dataset,
}
return render(request, 'population.html', context)
因此,我们现在可以使用以下方式呈现此信息:
{% for item in dataset %}
{{ item.year }}
{{ item.man }}
{{ item.woman }}
{{ item.mean }}
{% endfor %}