Order_by @ свойство модели в desc не работает - PullRequest
0 голосов
/ 02 октября 2019

Я создал собственный класс заказа, и когда я хочу сделать заказ по популярности, он приносит только все истории, упорядоченные по рейтингу в desc

class CustomOrdering(OrderingFilter):
    allowed_filters = ['top']

    def get_ordering(self, request, queryset, view):
        ...

    def filter_queryset(self, request, queryset, view):
        ordering = self.get_ordering(request, queryset, view)

        if ordering:
            ordering = ['-rating']

        if ordering:
            return queryset.order_by(*ordering)

        return queryset

models.py

class Story(models.Model):
    ....
    @property
    def average_rating(self):
        average_rating = self.rating_set.all().aggregate(Avg('rating'))['rating__avg']
        if average_rating is not None:
            return round(float(average_rating), 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...