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

2024-10-03 06:29:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

提前告诉他。你知道吗


Tags: 对象inbyobjectsorderfilterstudent学生
2条回答

'对象'=Modelname.objects.filter模型名称(student\u in=malerep)。排序依据('-voces','-student\u Percentage')' 然后使用objs[0]我就可以访问这个学生的对象,在票数相等的情况下,这个对象的票数和百分比都是最大的。你知道吗

此时,您有两个选择:

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

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

相关问题 更多 >