Я использую DataTable с django и пытаюсь настроить опцию serverSide. Все работает нормально, кроме параметра order. Datatable отправляет все параметры на бэкенд, в котором порядок выглядит следующим образом:
order[0][column]: 0
order[0][dir]: asc
order[1][column]: 2
order[1][dir]: desc
Я пытаюсь получить все параметры заказа в списке с помощью функции получить список(), но каждый раз получаю пустой список
orders = request.GET.getlist('order[]')
Что мне не хватает?





Обычно вы получаете пустой список для getlist, если ключевое слово, которое вы ищете, не существует. Вместо этого попробуйте request.GET.getlist('order').
Проблема в том, что пользователь может выбрать более одного столбца для заказа, поэтому я хочу сделать это динамически. Вот почему я хочу весь список для параметра order: S
Я нашел решение. Я отправил ответ, спасибо за вашу помощь.
Хорошо, я нашел решение. Я отправлял ajax в виде закодированной формы, и он получал ключи для заказа в виде буквальной строки order[0][column]order[0][dir]. Что мне нужно было сделать, так это отправить ajax в виде данных в формате JSON и получить параметры с помощью json.loads() в представлении:
Таблица данных
"ajax": {
"url": url,
"contentType": "application/json",
"type": "POST",
"data": function (d) {
return JSON.stringify(d);
}
},
Вид
request_data = json.loads(request.body)
dt_draw = request_data.get('draw')
dt_start = request_data.get('start')
dt_length = request_data.get('length')
dt_search = request_data.get('search').get('value')
dt_order = request_data.get('order')
Я тоже пробовал это и все еще получаю пустой список []. Но я могу получить такие параметры
request.GET.get('order[0][column]').