2016-09-02 35 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

相關問題