我在django有一个模特,其中一个人每场比赛有1-6轮的结果。我正试图让他所有的战斗,然后轮流排序。但是,有些轮次被忽略了:
results = self.objects.filter(boxer)
fight_results = []
for r in results:
result = sorted([x for x in results if x.fight_id == r.fight_id],key=lambda r: -r.round)
fight_results.append(result)
我做错了什么?
编辑:只是为了澄清,对于每场战斗,在数据库中有1到6个具有相同fight_id但不同的整数的条目。我只想把它们全部搞定,添加到列表中并按轮数排序
答案 0 :(得分:0)
在不知道fights
和rounds
的类/数据结构的情况下,很难理解您要做的事情。根据您的描述,在我看来,正在排序的列表理解是错误地使用results
。查看传递给tp sorted
的密钥,它应该引用特定结果中的战斗,因此应该是这样的:
result = sorted([x for x in r.fights if x.fight_id == r.fight_id],key=lambda r: -r.round)