假设我有一个名为 MyModel
的 Django 模型,如下所示:
class MyModel(models.Model):
event_started = models.DateTimeField(default=timezone.now)
event_duration = models.DurationField()
现在我想得到一个按天分组的总秒数的查询集。以下代码返回总持续时间为 timedelta
而不是秒的查询集:
from django.db.models import Sum
qs = (MyModel.objects
.annotate(day=TruncDay('event_started'))
.values('day')
.annotate(total_duration=Sum('event_duration'))
.order_by('-day')
)
我想在查询集的 timedelta
字段中包含总秒数而不是 total_duration
。我该怎么做?