Здравствуйте! Пытаюсь вывести отсортированный средний бал для каждой команды. Столкнулся с проблемой - элементы на выходе имеют строковый тип. Как и где в queryset для final_score явно указать тип int? Спасибо!
class Comand(models.Model):
title = models.CharField(max_length=255)
photo = models.ImageField(upload_to='photos/%Y/%m/%d/')
first_evaluation = models.IntegerField(null=True,)
second_appreciation = models.IntegerField(null=True)
third_assessment = models.IntegerField(null=True)
fourth_assessment = models.IntegerField(null=True)
fifth_assessment = models.IntegerField(null=True)
final_score = models.FloatField(null=True, blank=True)
cat = models.ForeignKey('Category', on_delete=models.PROTECT, null=True)
def save(self, *args, **kwargs):
self.first_evaluation = int(self.first_evaluation)
self.second_appreciation = int(self.second_appreciation)
self.third_assessment = int(self.third_assessment)
self.fourth_assessment = int(self.fourth_assessment)
self.fifth_assessment = int(self.fifth_assessment)
self.final_score = (self.first_evaluation + self.second_appreciation + self.third_assessment + self.fourth_assessment + self.fifth_assessment)/5
super(Comand, self).save(*args, **kwargs)
def __str__(self):
return self.title
def get_absolute_url(self):
return '/juds'
def get_absolute_url2(self):
return f'/update/{self.pk}/'
class Meta:
ordering = ['-final_score']
Если точней объяснить то для строкового типа 2.8 больше 17. Как понимаете это важно.