Я нашел решение, возможно, кому-то это тоже нужно.
Я использую пакет django_filters , и в этом случае мы должны использовать filter_class
в нашем представлении, и там мы можем определить порядок как нам нужно.
Пример:
from django_filters import rest_framework as filters, OrderingFilter
from contents.models import Content
class ContentFilter(filters.FilterSet):
order = OrderingFilter(
# tuple-mapping retains order
fields=(
('price', 'price'),
),
field_labels={
'price': 'Content price',
}
)
class Meta:
model = Content
fields = ['price']
# my view in views.py
class ContentView(ModelViewSet):
filter_class = ContentFilter
.....
Теперь вы можете использовать заказ ?order=price
или ?order=-price
, и вы можете увидеть его на документах Swagger
Подробнее о OrderingFilter можно узнать в django_filters здесь