我有一个Django QuerySet,其中包含一个模型的几个结果:
class MyModel(models.Model):
value = models.FloatField()
date_seen = models.DateTimeField()
现在,查询集会随着时间的推移而受到限制,并且包含重复的结果:
^{pr2}$现在我想要的是一个只包含值发生变化的结果的查询集,因此结果如下:
MyModel.date_seen - MyModel.value
2016-03-01 10:00:00 - 124
2016-03-01 12:00:00 - 99
2016-03-01 15:00:00 - 103
2016-03-01 17:00:00 - 176
2016-03-01 18:00:00 - 12
这个列表只是一个例子,结果计数要高得多(大约1000个结果),所以我需要一个高性能的解决方案;-)这是可能的吗?有什么建议吗?谢谢!在
顺便说一句,我用postgresql作为数据库。在
我发现了一个只在POSTGRESQL上运行的基于this beautiful post的单查询解决方案,其中他们解释了如何使用postgres ^{} 函数,该函数可用于计算当前行之前任意行的值。只要确保在下面的查询中将clubs_mymodel替换为[yourappname]\u mymodel,就可以开始了!在
输出:
相关问题 更多 >
编程相关推荐