我有一个名为'speed'的表,它有一个用户行的外键和一个名为'speed'的整数字段。我想做的是为独特用户获得最高速度。例如:
如果包含速度
id | speed | user_id |
1 | 40 | 1 |
2 | 50 | 1 |
3 | 10 | 2 |
它将返回id的2和3.这是否可以使用Django的数据库API?
答案 0 :(得分:2)
这不是您提出的要求,但会为您提供用户ID列表及其相关的最高速度:
from django.db.models import Max
Speed.objects.values_list('user').annotate(Max('speed'))
这可能更有用:具有最高速度的用户对象列表:
User.objects.all().annotate(Max('speed__speed'))
评论后编辑嗯,您没有显示时间的来源,但假设它是Speed模型的另一个字段,它仍然相当简单:
Speed.objects.filter(time__gte=fiveminutesago).values_list('user').annotate(Max('speed'))