我正在尝试对用户每天花费的时间进行求和。我想将其转换为整数或小数(例如 2、6.5)小时,以便轻松地将其绘制到我的图表中。但下面代码的结果是这样的格式HH:mm:ss。任何人都可以帮我解决这个问题吗?
day = Clocking.objects.filter(clockout__isnull=False, user=nid).annotate(date=TruncDate('clockin'))
.values('date').annotate(total=Sum(F('clockout') - F('clockin'))).values('total')
这是我的模型.py
class Clocking(models.Model):
user= models.ForeignKey('User', models.DO_NOTHING)
clockin = models.DateTimeField()
clockout = models.DateTimeField(null=True)
基于Func,使用sql函数
TIMEDIFF
然后TIME_TO_SEC
,将返回秒:
day = Clocking.objects.filter(clockout__isnull=False, user=nid).annotate(date=TruncDate('clockin'))
.values('date').annotate(
total=Sum(
Func(
Func(
F('clockout'),F('clockin'), function='TIMEDIFF'),
function='TIME_TO_SEC')
)).values('total')