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