У меня есть эта модель:Сортировка QuerySet на основе более двух различных полей
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