2014-02-11 65 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,它使用離線任務在每種實體上運行映射器。