Django 使用ForeignKey类中的数据预填充表单中的字段

Django 使用ForeignKey类中的数据预填充表单中的字段,django,django-forms,django-views,Django,Django Forms,Django Views,我有一个 class SurveyAnswer(models.Model): rel = models.ForeignKey(Survey) answer = models.CharField(max_length=150) def __unicode__(self): return self.answer 现在我想在表格中预先填写以下“答案”: 我与xxx有什么关系,以便获得与“调查”(ForeignKey)相关的第一个答案。当pk=1时,我得到绝对数

我有一个

class SurveyAnswer(models.Model):
    rel = models.ForeignKey(Survey)
    answer = models.CharField(max_length=150)
    def __unicode__(self):
        return self.answer
现在我想在表格中预先填写以下“答案”:

我与xxx有什么关系,以便获得与“调查”(ForeignKey)相关的第一个答案。当pk=1时,我得到绝对数

更新:

我现在做完了

{% for i in survey.surveyanswer_set.all %}
    <p><label>Answer {{ forloop.counter }}:</label> <textarea id="id_answer{{ forloop.counter }}" rows="6" placeholder="Type an answer option" cols="45" name="answer{{ forloop.counter }}">{{ i.answer }}</textarea></p>
{% endfor %}

根据您的需要,有两种方法可以做到这一点:

或者,如果表单是ModelForm,则可以使用实例参数:

{% for i in survey.surveyanswer_set.all %}
    <p><label>Answer {{ forloop.counter }}:</label> <textarea id="id_answer{{ forloop.counter }}" rows="6" placeholder="Type an answer option" cols="45" name="answer{{ forloop.counter }}">{{ i.answer }}</textarea></p>
{% endfor %}
answers_part1 = []
for i in survey.surveyanswer_set.all():
    answers_part1.extend([i.answer])
answers_part2 = ["answer1", "answer2", "answer3", "answer4"]
answers = dict(zip(answers_part2, answers_part1))
form_data = {"question": survey.question}
form_data.update(answers)
form = SurveyForm(form_data)