2014-02-11 3 views
0

두 개의 DateTimeProperties을 가져 와서 시간, 분, 초의 차이를 찾으려고합니다. 나는 또한 두 인스턴스의 차이를 취하여 다른 인스턴스와의 평균을 구하려고 노력 중이다. 이 작업을 수행하는 쉬운 방법이 있습니까? 누군가가 해결책을 게시 할 수 있다면, 그것은 훌륭 할 것입니다!App Engine DateTimeProperty 평균

내 모델 : 결국

class Submission(DictModel): 
    timeIn = db.DateTimeProperty(auto_now_add=False) 
    timeOut = db.DateTimeProperty(auto_now_add=False) 
    UUID = db.StringProperty() 

, 나는 모든 Submissions의 평균을하려합니다.

감사합니다.

답변

2

DateTimeProperty의 밑에있는 value type은 python datetime.datetime입니다. 그냥 데이터 저장소는 관계형 데이터베이스 아니고, 당신이 집계 등의 작업을 수행 할 수 없습니다 difference

dt = Submission(timeIn=datetime.datetime(year=2014, month=1, day=20, minute=5, hour=9), 
        timeOut=datetime.datetime(year=2014, month=2, day=25, minute=10, hour=10)) 
    diff = dt.timeOut - dt.timeIn 
    self.response.write(diff.seconds) # get seconds 
    self.response.write(diff.days) # get days 
+0

'diff.seconds'가 총 시간이 아니므로 diff.total_seconds()를 원합니다. –

1

얻을 수를 뺍니다. 전체 데이터 세트에서 평균과 같은 것을 계산해야하는 경우 mapreduce framework을 사용해야합니다. 은 오프라인 작업을 사용하여 일종의 각 엔티티에 대해 매퍼를 실행합니다.