Получить параметр списка запросов из Datatable в Django - PullRequest
0 голосов
/ 01 апреля 2019

Я использую DataTable с django и пытаюсь настроить параметр serverSide.Все работает нормально, кроме параметра order.Datatable отправляет все параметры бэкэнду, в котором порядок выглядит следующим образом:

order[0][column]: 0
order[0][dir]: asc
order[1][column]: 2
order[1][dir]: desc

Я пытаюсь получить все параметры заказа в списке с помощью getlist () функция, но я получаю каждый раз пустой список

orders = request.GET.getlist('order[]')

Что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Хорошо, я нашел решение. Я отправлял ajax как закодированный в форме, и он получал ключи для заказа в виде буквенной строки order[0][column] order[0][dir]. Что мне нужно было сделать, это отправить ajax в datatable как JSON и получить параметры с json.loads() в представлении:

DataTable

"ajax": {
       "url": url,
       "contentType": "application/json",
       "type": "POST",
       "data": function (d) {
          return JSON.stringify(d);
        }
},

View

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')
0 голосов
/ 01 апреля 2019

Как правило, вы получаете пустой список для getlist, если искомое ключевое слово не существует. Попробуйте request.GET.getlist('order') вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...