Вы можете сделать это с помощью Javascript (переупорядочивание элементов DOM) или с ответом, который вы получаете от вашего сервера.
JS:
function reverseChildren(parent) {
for (var i = 1; i < parent.childNodes.length; i++){
parent.insertBefore(parent.childNodes[i], parent.firstChild);
}
}
Вы можете установить добавьте обработчик событий onclick
JS в родительский DIV элементов, чтобы отменить все дочерние элементы.
Источник: { ссылка }
OR
Вы можете отправить ответ с сервера, используя метод фильтрации .order_by()
с флагом в запросе, чтобы определить, является ли он обратным или нет.
Например:
Без обратного - Item.objects.all().order_by('price')
Обратное - Item.objects.all().order_by('-price')
class ItemView(View):
def get(self, request, *args, **kwargs):
isReversed = '-price' if request.GET['reverse'] is True else 'price'
items = Item.objects.all().order_by(isReversed)
return JsonResponse(items)