Как получить данные из QueryDict? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть эти данные из форм

<QueryDict: {
     'csrfmiddlewaretoken': ['GKVYyp5MZHM39C4UJU13YOqCr5euox35X6xy19L87FhKwQY7UiT9nQYBpnNm7ZSt', 
                             'GKVYyp5MZHM39C4UJU13YOqCr5euox35X6xy19L87FhKwQY7UiT9nQYBpnNm7ZSt', 
                             'GKVYyp5MZHM39C4UJU13YOqCr5euox35X6xy19L87FhKwQY7UiT9nQYBpnNm7ZSt', 
                             'GKVYyp5MZHM39C4UJU13YOqCr5euox35X6xy19L87FhKwQY7UiT9nQYBpnNm7ZSt'], 
     'User': ['11', '11', '12', '13'], 
     'month': ['march', 'march', 'february', 'july'], 
     'regularFee': ['1500', '988', '7656', '7000'], 
     'extraFee': ['0', '0', '23', '7'], 
     'discount': ['234', '0', '0', '7'], 
     'Total': ['1500', '987', '1500', '7000']}>

Может кто-нибудь, пожалуйста, скажите мне, как извлечь данные из этого я хочу новый словарь, который будет иметь индекс в качестве ключа и значение будет другим словарем данных, который будет включать в себя информацию о каждом пользователе

if request.method == 'POST':
    keys = []
    length = 0

    for key in request.POST.keys():
        keys.append(key)
        length = len(request.POST[key])

    for index in range(length):
        dict_messForm = {}
        for key in keys:
            dict_messForm.update({key:request.POST[key][index]})
        forms.append(messFeeForm(dict_messForm))

это дает мне сообщение об ошибке «строковый индекс вне диапазона» ......
как я могу создавать формы из этого QueryDict?

1 Ответ

0 голосов
/ 28 апреля 2020

QueryDict выбирается с помощью метода getlist.

  if request.method == 'POST':
    keys = []
    length = 0
    for key in request.POST.keys():
        keys.append(key)
        length = len(request.POST[key])
    length = length - 1
    for index in range(length):
        dict_messForm = {}
        for key in keys:
            l = list(request.POST.getlist(key))
            value = l[index]
            dict_messForm.update({key:value})
        forms.append(messFeeForm(dict_messForm))
...