Отправить дикту из js в views: return querydict who bursts my dict

У меня есть диктант, который я хотел бы отправить, но получаю его в виде querydict, содержимое которого уже не соответствует форме отправленного диктанта.

Как я могу получить объект, которым я могу просто манипулировать? Я хочу добавить элементы в базу данных, поэтому я должен сделать цикл for и добавить по индексу (key1, key2), но я не могу получить реальную длину, когда я делаю len(request.POST), он возвращает 5.

.js

function sendData(event){
    const res = { 0:{"val1": 1, "val2":2}, 1:{"val1": 3, "val2":4}}
    ...
    $.ajax({
        ...
        data: {
            "result": res,
        },
        dataType: "json",
        ...
    }) }

views.py

def view1(request):
     print(request.POST)

$ <QueryDict: {'csrfmiddlewaretoken': ['...'], 'result[0][val1]': ['1'], 'result[0][val2]': ['2'], 'result[1][val1]': ['3'], 'result[1][val2]': ['4']}>

Вы можете получить итерабельную переменную, с которой будет легче работать, вызвав lists() на querydict.
Вы получите список из двух кортежей элементов. Первый элемент - это ключ вашего диктанта, а второй - список всех значений, связанных с ключом.

Вернуться на верх