我刚开始使用 Django。我的模型非常简单,由一个时间戳和一个值(温度,每分钟更新一次)组成。我想检索过去 7 天中每一天的最大值。
我需要查询 7 次还是有“捷径”?
最佳答案
您可以使用 annotate()
和 extra()
:
start_date = date.today() - timedelta(days=7)
MyModel.objects.filter(timestamp__gte=start_date).extra(select={'day': connection.ops.date_trunc_sql('day', 'timestamp')}).values('day').annotate(max_temperature=Max('temperature'))
关于python - django - 在几个时期内获得最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18182952/