Я хочу сделать некоторую сортировку и что у меня есть разум делает запрос GET с параметром с именем ordering вроде этого, и это значение будет атрибутом модели, который я буду использовать для сортировки следующим образом:Django request Список значений параметров GET
?order=['-age', 'height']
проблема в том, когда я пытаюсь получить параметр порядка. Значение - это список.
Я попытался с помощью AST, как это:
if 'order' in request.GET:
import ast
order = ast.literal_eval(request.GET.get('order'))
queryset = queryset.order_by(*order)
Он работал. Тем не менее, я бы хотел избежать использования библиотеки ast, есть ли другой способ?
UPDATE
Я сделал параметр, как это:
заказ = -Возраст, высота
И просто использовали раскол в питона так:
if 'order' in request.GET:
order = request.GET.get('order').split(',')
queryset = queryset.order_by(*order)
Вы имеете в виду '.GET.getlist'? – Sayse
Возможный дубликат [Обработка Django request.GET и нескольких переменных для одного и того же имени параметра] (http://stackoverflow.com/questions/3910165/handling-django-request-get-and-multiple-variables-for-the- same-parameter-name) – Sayse
@Sayse, Это результат, когда я использую getlist .. [u '[- bet_amount, расчет_amount ['] –