У меня есть несколько моделей
class RaringStar(models.Model):
value = models.IntegerField('star')
def __str__(self):
return str(self.value)
class Article(models.Model):
article_title = models.CharField('Title', max_length = 200)
article_text = models.TextField('TEXT', null=True, blank=True)
class Raring(models.Model):
star = models.ForeignKey(RaringStar, on_delete=models.CASCADE)
post = models.ForeignKey(Article, on_delete=models.CASCADE)
ip = models.CharField('ip', max_length = 200)
я прочитал доки
https://docs.djangoproject.com/en/3.0/topics/db/qu...
https://docs.djangoproject.com/en/3.0/ref/models/q...
Но я так и не понял как мне вывести модели по рейтингу
a = Article.objects.filter(raring__isnull=False)
for x in a:
obj = {}
x.raring_set.order_by('-val')
val = 0
for y in x :
val + x.star
obj['val.sum'] = {'title':x.article_title,'val_sum':val}
obj.order_by('-val_sum')
Так что бы мне не пришлось вызывать все объекты по нескольку раз а после конвертировать новый объект и к нему применять сортировку, так как здесь очень много лишних действий