Python django,从筛选对象列表中获取一个对象,该对象具有字段的最大值

Python django,从筛选对象列表中获取一个对象,该对象具有字段的最大值,python,django,Python,Django,Modelname.objects.filter(student\uu in=malerep)。排序依据('-vows','-student\uu Percentage') 在这里,我想特别得到拥有最多选票的学生。 我想做的是,得到参加选举并获得一些选票的学生名单,然后根据他们获得的票数对他们进行排序。现在,如果我可以访问此列表中的第一个对象,我可以对数据库中赢得选举的学生进行必要的修改,并获得其余对象的详细信息。 我被困在这一点上。请帮忙 Thanx提前。此时,您有两个选择: 首先,使用“ma

Modelname.objects.filter(student\uu in=malerep)。排序依据('-vows','-student\uu Percentage')
在这里,我想特别得到拥有最多选票的学生。 我想做的是,得到参加选举并获得一些选票的学生名单,然后根据他们获得的票数对他们进行排序。现在,如果我可以访问此列表中的第一个对象,我可以对数据库中赢得选举的学生进行必要的修改,并获得其余对象的详细信息。 我被困在这一点上。请帮忙


Thanx提前。

此时,您有两个选择:

首先,使用“max”获取某个字段的最大值,并使用该最大值检索特定的学生实例。 好的一面,这很容易实现;坏的一面是,需要两次访问数据库才能实现目标

第二,使用raw()。您可以执行所需的所有复杂查询。这会解决你的问题。
好的一面是,你有最大的自由进行任何查询;坏的一面,需要sql知识

'objs=Modelname.objects.filter(student\uu in=malerep).order\u by('-vows','-student\uu Percentage')'
然后使用
objs[0]
我可以访问得票最多的学生对象,如果票数相等,则可以访问得票最多的学生对象。

但如果票数相等,即如果有多人拥有最大票数,则我必须选择百分比较高的学生对象。因此,我需要获取过滤列表中的第一个对象。我该怎么做?@user1799210:使用“order_by”。如筛选器(…)。按('-Percentage')排序。然后选择第一个。它应该有效。