L oop над телом в Django просмотрах - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь l oop над tbody в моих django представлениях, чтобы получить данные из формы, но когда я печатаю элементы в теле, он показывает только последний

Вот часть, которую я пытаюсь l oop на

<tbody class="player-instances">

                <tr>
                    <td><input type="text" name="form-0-pname" id="id_form-0-pname"></td>
                    <td><input type="number" name="form-0-hscore" id="id_form-0-hscore"></td>
                    <td><input type="number" name="form-0-age" id="id_form-0-age"></td>
                </tr>

                <tr>
                    <td><input type="text" name="form-0-pname" id="id_form-1-pname"></td>
                    <td><input type="number" name="form-0-hscore" id="id_form-1-hscore"></td>
                    <td><input type="number" name="form-0-age" id="id_form-1-age"></td>
                </tr>
</tbody>

Views.py

if form.player_instances.cleaned_data is not None:
    for item in form.player_instances.cleaned_data:
        print("item", item)
        print("form.cleaned_data", form.cleaned_data)
        player = Player()
        player.pname= item['pname']
        player.hscore= item['hscore']
        player.age= item['age']
        player.save()
        team.player.add(player)
    team.save()

Вывод на терминале следующий:

item {'pname': 'tt22', 'hscore': 8, 'age': 89}
form.cleaned_data {'tname': 'tt1'}

Почему он переопределяет первые поля ввода, несмотря на то, что имеет другой идентификатор?

1 Ответ

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

Попробуйте другое имя в поле имени, например: form-1-pname и так далее.

Спасибо.

...