0
我有这样的模式:排序查询集基于较高的两个不同的领域
class ScoringModel(model.Model):
red_score = models.SmallIntegerField()
blue_score = models.SmallIntegerField()
我想基于哪个查询集进行排序两者之间更大。现在,拿他们的总和是行不通的,因为这意味着90比0的分数比50比50的分数低,这不是我想要的。 (我试图找到高分名单,基本上是这样。)
我尝试添加该模型的内部功能,因为这样:
class ScoringModel(model.Model):
red_score = models.SmallIntegerField()
blue_score = models.SmallIntegerField()
def max_score(self):
return self.red_score if self.red_score > self.blue_score else self.blue_score
不工作,因为order_by
功能不支持函数返回值(即ScoringModel.objects.order_by('-max_score')
和ScoringModel.objects.order_by('-max_score()')
无法运行)。
任何帮助将是非常赞赏
非常感谢。这工作。 – Justin