【发布时间】:2021-07-18 11:12:41
【问题描述】:
在模板中,我正在迭代 MyModel 对象。现在在模板中,我想获取特定年份的整数字段的总和。
我不知道如何使用这三个函数来获得字段的总和?或者可能有更好的方法?
型号
class MyModel(models.Model):
date = models.DateField()
field1 = models.DecimalField(default=0.0)
field2 = models.DecimalField(default=0.0)
观看次数
def get_total_field1(year):
return MyModel.objects.filter(date__year=year).annotate(total=Sum('field1'))['total']
def get_total_field2(year):
return MyModel.objects.filter(date__year=year).annotate(total=Sum('field2'))['total']
def get_total(year):
return get_total_field1() + get_total_field2()
class MyView(ListView):
model = MyModel
template_name = 'my_template.html'
模板
{% for obj in objs %}
<tr>
<td>{{obj.date|date:'Y'}}</td>
<td>Field 1 total sum for obj.date </td>
<td>Field 2 total sum for obj.date</td>
<td>Field 1 total + field2 total </td>
{% endfor %}
【问题讨论】:
标签: django django-models django-views django-queryset