Django; Как я могу отобразить внешний ключ вопросов для таблицы ответов, а затем сохранить ответы с помощью форм Django?
Здравствуйте, я работаю над приложением для опроса, в котором есть 7 вопросов и на все из них принимаются целочисленные ответы 1-3, за исключением последнего вопроса, который является свободным ответом.
Мой models.py выглядит следующим образом:
class Question(models.Model):
question = models.CharField(max_length=255)
class Response(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name="response")
response = models.IntegerField(validators=[MinValueValidator(0),MaxValueValidator(3)])
respondantEmail = models.EmailField(unique=True)
Я планировал хранить 7 вопросов в таблице Questions, а затем разделить ответы на 7 строк для каждого пользователя. Я не знаю, есть ли лучший подход к этому, поэтому не стесняйтесь направить меня к другому способу хранения ответов.
Это хорошо работает в моем представлении администратора, но я не могу заставить его правильно отображаться во внешнем интерфейсе.
В настоящее время у меня есть:
Forms.py
class ResponseForm(ModelForm):
class Meta:
model = Response
fields = { "response","respondantEmail"}
widgets = {"response": forms.TextInput(attrs={'type':"range", 'min':'1','max': '3'})}
index.html
<form action="{% url 'AssessmentForm:submit' %}" method="post">
{% csrf_token %}
{{form.as_p}}
<input type="submit" value="Submit">
</form>
Теперь очевидно, что это отображает только одно поле ввода диапазона и поле ввода электронной почты, но я бы хотел, чтобы оно отображало поле диапазона и поле электронной почты для каждого вопроса, хранящегося в моей таблице Questions, наряду с самим вопросом. Как мне это сделать, а затем использовать форму ResponseForm для проверки всех ответов и сохранения их в вопросе?
Спасибо.