문제

다음을 감안할 때 Contribution 모델:

class Contribution(models.Model):
    start_time = models.DateTimeField()
    end_time = models.DateTimeField(null=True)

Django 데이터베이스 API를 사용하여 다음 SQL 문을 재현 할 수 있습니까?

SELECT SUM(end_time - start_time) AS total_duration FROM contribution;

나는 이것을 많이 알아 냈다 :

Contribution.objects.aggregate(total_duration=models.Sum( ??? ))

그러나 나는 어떻게 표현하는지 잘 모르겠습니다 end_time - start_time 부분. 감사!

도움이 되었습니까?

해결책

현재는 불가능합니다 티켓 f () 응집 내부의 물체의 경우, 그러나 유망한 것은 없습니다.

내가 보는 유일한 방법은 파이썬에서 합계로 해결하는 것입니다.

sum([x[1]-x[0] for x in Contribution.objects.values_list('start_time', 'end_time')])
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top