Django отсортировать список - сложный запрос - PullRequest
2 голосов
/ 24 декабря 2011

Это мои модели

class Review(models.Model):
    reviewHeader = models.CharField(null=False,default="",max_length=200)

class ReviewRate(models.Model):
    review = models.ForeignKey(CompanyReview,null=False,default=0)
    isPositive = models.BooleanField(blank=True)

Я бы хотел отсортировать отзывы по количеству положительных голосов.

Review.objects.all().annotate(ss = Sum('rev__reviewrate__isPositive')).order_by('-ss')

Сортирует отзывы, по которым набрал максимальное количество положительных голосов.,Но если за отзыв набрано 2 положительных и 2 отрицательных голоса, то до него дается только один положительный голос.

Но я бы хотел отсортировать их по (положительно-отрицательному) числу.

Как мне этого добиться?

Спасибо

1 Ответ

1 голос
/ 24 декабря 2011

для такого рода вещей, я думаю, вам нужно добавить новое поле в вашу модель, например num_of_pos_votes, тогда вы можете сортировать с этим полем

...