Отправить дикту из 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.
Вы получите список из двух кортежей элементов. Первый элемент - это ключ вашего диктанта, а второй - список всех значений, связанных с ключом.