App Engine DateTimeProperty平均值

时间:2014-02-11 04:20:07

标签: python google-app-engine datetime average

我想尝试两个DateTimeProperties并找出它们之间的小时,分​​钟和秒的差异。我也试图区分这两个实例,并将它们与其他实例进行平均。是否有捷径可寻?如果有人可以发布解决方案,那就太棒了!

我的模特:

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

最后,我想尝试平均所有Submissions

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

数据存储区不是关系数据库,不允许您执行聚合等操作。如果需要计算整个数据集中的平均值,则需要使用mapreduce framework,它使用脱机任务在一种类型的每个实体上运行映射器。