날짜 범위 별 그룹화를 사용하여 해상도를 낮추기위한 django 집계

끔찍한 제목이지만 설명하겠습니다. 타임 스탬프 (날짜)와 로그 할 속성이 포함 된이 django 모델이 있습니다.-fe 일부 리소스를 소비하는 사용자 수-(값).

class Viewers(models.Model):
    date = models.DateTimeField()
    value = models.IntegerField()

각 10 초마다 테이블에는 사용자 수가 포함되어 있습니다. 다음과 같이 :

| date | value |
|------|-------|
|  t1  |   15  |
|  t2  |   18  |
|  t3  |   27  |
|  t4  |   25  |
|  ..  |   ..  |
|  t30 |   38  |
|  t31 |   36  |
|  ..  |   ..  |

이제이 데이터에서 다른 해상도를 사용하여 다른 통계를 생성하려고합니다. fe 마지막 날의 차트에는 필요하지 않습니다. 10 초 해상도이므로 5 분 단계 (t1에서 t29, t30에서 t59까지의 행 값 (및 날짜)를 평균화하여 빌드 됨)를 원하므로 다음을 얻을 수 있습니다.

| date | value |
|------|-------|
|  t15 |   21  |
|  t45 |   32  |
|  ..  |   ..  |

변수를 유지하는 속성은 시작 및 종료 타임 스탬프와 해결 방법 (예 : 5 분)입니다. django orm / queryset api를 사용하는 방법이 있습니까? 그렇지 않은 경우 사용자 지정 SQL을 사용하여 도달하는 방법이 있습니까?

5
задан kraiz 7 June 2011 в 14:03
поделиться