Hello every one is there a way to use OrderingFilter
like in django order_by
with 2 ordering values queryset.ordery_by('value1', value_2')
I have tried
order_by = django_filters.OrderingFilter(
fields=(
('item_name', 'Items),
('time_from', 'Time'),
(('value1', 'value2'), 'Value'),
)
)
But received expected string or bytes-like object
OrderingFilter
supports multiple ordering params if you're willing to include them in the request: my_view?order_by=value1,value2
.
If you want the same result with a request that looks like my_view?order_by=values
, a way I can think of to achieve that is to override OrderingFilter
:
class CustomOrderingFilter(OrderingFilter):
def filter(self, qs, value):
if any(v == 'values' for v in value):
qs.order_by('value1', 'value2')
return super(CustomOrderingFilter, self).filter(qs, value)