Как изменить порядок по умолчанию с ASC на DESC в django OrderFilter
Я не являюсь экспертом в области django dev. Я пытался написать набор представлений, который имеет поля ordering_fields
и ordering
, но это поле упорядочивания не имеет никакого эффекта. Мой набор представлений выглядит так:
class ContentViewSet(viewsets.ModelViewSet):
queryset = Content.objects.all()
serializer_class = ContentSerializer
filter_backends = [OrderingFilter]
ordering_fields = ['created_at']
ordering = ['-created_at']
Что я ищу, так это то, что он предоставит список в порядке убывания. Однако, если я добавлю отрицательный знак перед created_at в url, это даст мне то, что я ищу, но я искал решение, где я получу тот же результат без использования этого отрицательного знака в url.
Заранее спасибо.
Вы можете использовать мета-опции модели. Для упорядочивания объектов вы можете просто добавить этот фрагмент кода в класс вашей модели:
class Meta:
ordering = ["-created_at"]