Django Forms - Как сохранить несколько входов (type = radio) с одним и тем же атрибутом «name»? - PullRequest
0 голосов
/ 13 мая 2019

В настоящее время я работаю над приложением для опроса. Я использую формы django , однако я обнаружил, что столкнулся со следующей проблемой:

Если у меня только один вопрос, то нет проблем с сохранением ответов, но если есть несколько вопросов, есть проблема, потому что шаблон отображается следующим образом:

{% for question in questions %}

<div class="options">
    <input type="radio" name="answer" id="a{{ forloop.counter }}"  value="A" />
    <label for="a{{ forloop.counter }}">Agree</label>    
</div>
<div class="options">
    <input type="radio" name="answer" id="b{{ forloop.counter }}"  value="D" />
    <label for="b{{ forloop.counter }}">disagree</label>
</div>

Так, например, если я задам 5 вопросов, входные данные этих 5 вопросов будут иметь одно и то же имя атрибута, поэтому я могу выбрать только одну радиокнопку, что по логике является ошибкой, поскольку я должен иметь возможность выбрать 5 (потому что они 5 вопросов).

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

class SurveyForm(forms.ModelForm):
    class Meta:
        model = Survey
        fields = ('answer' , )

Тогда существующим названиям радиокнопок, отличающихся от «ответа», будет сгенерирована ошибка при сохранении ответов.

Как сохранить ответ на несколько вопросов?

Пояснение: Я хочу визуализировать форму вручную, а не с {{form.as_p}}, потому что я буду работать с начальной загрузкой, и форма будет иметь определенные особенности на эстетическом уровне.

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