首页 > 解决方案 > 如何在Django的双周工资计划中汇总每个员工的时间

问题描述

如何将每个员工的 time_work 累加到每个月的 15 日?

class TimeLog(models.Model):
    employee    = models.IntegerField(null=True, blank=True)
    start_date  = models.DateTimeField (null=True, blank=True)
    end_date    = models.DateTimeField (null=True, blank=True)
    time_worked = models.DurationField(null=True, blank=True)

标签: python-3.xdjangodjango-modelsdjango-queryset

解决方案


尝试以下操作:

# You need to figure a way to configure the dates below but the code is the same
timelog = TimeLog.objects.filter(end_date__range[01/09/2020, 15/09/2020])
employee_time = {}
for log in timelog:
    if timelog.employee not in employee_time:
        employee_time[timelog.employee] = timelog.time_worked
        continue

    employee_time[timelog.employee] += timelog.time_worked

推荐阅读