python - django - 在几个时期内获得最大值

标签 python django django-models django-queryset django-orm

我刚开始使用 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/

相关文章:

python - 如果同时读取和追加同一个文件(python 编程),会发生什么情况?

python pgdb挂数据库

django - 使用 prefetch_related 仅获取关系的特定条目

django - 将 json 模型字段与 django graphene 一起使用

python - Django 文件夹结构问题

django - 尝试制作一个看起来不像我的模型的 django Rest api

python - 在 python 中更改 SVM 的 C 参数

python - 使用 trie 在 python 中创建目录结构

python - 迁移重命名模型字段ManyToMany Django 1.8

django - 更新 Django 表单上的 forms.FileField