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 для проверки всех ответов и сохранения их в вопросе?

Спасибо.

Вернуться на верх