Django-在几个周期内获取最大值

django - get max values over several periods(Django-在几个周期内获取最大值)

本文介绍了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'))

这篇关于Django-在几个周期内获取最大值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Django-在几个周期内获取最大值

基础教程推荐