models.py
class Add(models.Model):
budget = models.IntegerField(blank=True, null=True)
date = models.DateTimeField(auto_now=False, auto_now_add=False, blank=True)
expense = models.IntegerField(default=0)
Views.py
def home_page(request):
bud = Add.objects.aggregate(Sum('budget'))
exp = Add.objects.aggregate(Sum('expense'))
context = {'bud':bud, 'exp':exp,'budexp':budexp}
return render(request, 'home.html', context,)
我想减去芽的总数和exp的总数(bud-exp),我该怎么做。
答案 0 :(得分:0)
您可以在此处将汇总合并到一个查询中。这将减少数据库的“往返”次数,从而也提高了性能:
from django.db.models import F, Sum
def home_page(request):
context = Add.objects.aggregate(
bud=Sum('budget'),
exp=Sum('expense'),
budexp=Sum('budget')-Sum('expense')
)
return render(request, 'home.html', context,)
这里context
将包含三个项目:bud
,exp
和budexp
。