2016-09-02 34 views
0

我有一个具有类型(CharField),start_time(DateTimeField)和end_time(DateTimeField)的模型。Django - 获取唯一字段的两个日期的总和

我想计算每个类型的总时间(end_time - start_time)的总和(以秒为单位),使用ORM查询。

ie) type1, 2016-01-01T10:00:00Z, 2016-01-01T10:00:10Z 

type2, 2016-01-01T10:00:00Z, 2016-01-01T10:00:10Z 

type1, 2016-01-01T10:00:00Z, 2016-01-01T10:00:10Z 

OUTPUT: type1 = 20, type2=10 

这是我迄今为止的查询: latest_downtime_list.values( '类型')ORDER_BY( '类型')标注(共= SUM( '???'))

我遇到的问题是能够取两个日期时间的差异并将其转换为秒。

回答

0

您可以使用F表达在这里:

latest_downtime_list.values('type') 
        .order_by('type') 
        .annotate(total=Sum(F('end_time') - F('start_time'))) 
+0

我越来越想通过查询列表遍历时,出现以下错误:AttributeError的:“浮动”对象有没有属性“UTCOFFSET” START_TIME设置使用默认的datetime.now并将end_time设置为8601格式的字符串(2016-01-01T10:00:10Z)。 – Matt

相关问题