2013-04-17 99 views
0

Modelname.objects.filter(student__in=malerep).order_by('-Votes','-student__Percentage') 在这里,我想具体获得拥有最大票数的学生。 我想要做的是获得代表选举并获得一些选票的学生名单,然后根据他们得到的选票数量对其进行排序。现在,如果我可以访问此列表中的第一个对象,那么我可以对数据库中赢得选举的学生进行必要的修改,并获得其余的详细信息。 我被困在这一点。请帮助django,从一个过滤对象列表中获取一个对象,该对象具有字段的最大值

Thanx提前。

+0

考虑添加此处使用的模型的代码。 – alecxe

回答

1

在这一点上,你有两个选择:

首先,使用“最大”来获得某些字段的最大值,并使用该最大值检索特定学生的实例。 好的一面,这很容易实现;不好的一面,你需要打两次数据库才能实现你的目标。

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

+0

但是,如果有一个是领带,即如果不止一个人有最大的号码。的选票,那么我必须选择一个更高的百分比。所以我需要获取过滤列表中的第一个对象。我怎样才能做到这一点? –

+0

@ user1799210:使用“order_by”。像过滤器(...)。order_by(' - Percentage')。并选择第一个。它应该工作。 –

+0

谢谢你们。 –

0

'的OBJ = Modelname.objects.filter(student__in = malerep).order_by(' - 投票, ' - student__Percentage')” 然后使用objs[0]我能够与最多投票数和最大访问学生的对象如果配合,百分比。

+0

你明白了。凉 –

相关问题