Этот код работает нормально, но это не тот результат, который я хочу. Для каждого случая его порядок переходит от старого к новому
def get_queryset(self, *args, **kwargs):
return super(PublishedManager, self).get_queryset().filter(
pub_date__lte=timezone.now(), status="published").order_by(
Case(When(status_ranking='1', then='pub_date')).asc(),
Case(When(status_ranking='2', then='pub_date')).asc(),
Case(When(status_ranking='3', then='pub_date')).asc(),
Case(When(status_ranking='4', then='pub_date')).asc()
)
Всякий раз, когда я использую этот метод, я получаю ошибку; Невозможно разрешить ключевое слово '-pub_date в поле
def get_queryset(self, *args, **kwargs):
return super(PublishedManager, self).get_queryset().filter(
pub_date__lte=timezone.now(), status="published").order_by(
Case(When(status_ranking='1', then='-pub_date')).asc(),
Case(When(status_ranking='2', then='-pub_date')).asc(),
Case(When(status_ranking='3', then='-pub_date')).asc(),
Case(When(status_ranking='4', then='-pub_date')).asc()
)