如何从 Django 模型中获取数据并输入 HTML 模板

How to Get Data Out of a Django Model and in to the HTML Template

我有一个 AttendanceReport 模型,员工可以在其中注册反馈和工作小时数等信息“nbr_heures”

我的模特:

class AttendanceReport(models.Model):
    id=models.AutoField(primary_key=True)
    consultant_id=models.ForeignKey(Consultant,on_delete=models.DO_NOTHING)
    mission_id=models.ForeignKey(Mission,on_delete=models.CASCADE,null=True)
    session_year_id=models.ForeignKey(SessionYearModel,on_delete=models.CASCADE, null=True)
    nbr_heures = models.IntegerField(blank=False)
    feedback = models.TextField(max_length=255,null=True, default="")
    created_at=models.DateTimeField(auto_now_add=True)
    updated_at=models.DateTimeField(auto_now_add=True)
    objects=models.Manager()

我正在尝试对 'nbr_heures' 的值求和,我该如何正确地做到这一点? 我试过了,但它不起作用..

    hours_count=AttendanceReport.objects.annotate(nbr_heur=Sum('nbr_heures'))

提前致谢。

你需要.aggregate(…) [Django-doc]这里:

hours_count = AttendanceReport.objects.<b>aggregate(</b>
    nbr_heur=Sum('nbr_heures')
<b>)</b>['nbr_heur']

.aggregate(…) 将对查询集中的所有记录求和,而 .annotate(…) [Django-doc] 将对每个对象执行聚合(如果使用 .values(…),则对每个唯一值执行聚合)。