djangoでアンケートサイトを作っています。私はdjangoのかなりの初心者なので、うまく説明できない場合は事前に謝罪してください。私の質問は、次のモデルに焦点を当てています。
class SurveyType(models.Model):
name = models.CharField(max_length=200)
def __unicode__(self):
return self.name
class Question(models.Model):
ANSWERTYPE_CHOICES = (
(u'T', u'Text'),
(u'R', u'Range'),
(u'M', u'Media'),
)
question = models.CharField(max_length=200)
surveytype = models.ForeignKey(SurveyType)
answertype = models.CharField(max_length=1, choices=ANSWERTYPE_CHOICES)
order = models.IntegerField(default=0)
def __unicode__(self):
return self.question
class Survey(models.Model):
course = models.ForeignKey(Course)
surveytype = models.ForeignKey(SurveyType)
def __unicode__(self):
return u"%s %s" % (self.course, self.surveytype)
class Answer(models.Model):
answer = models.CharField(max_length=400)
survey = models.ForeignKey(Survey)
question = models.ForeignKey(Question)
def __unicode__(self):
return self.answer
Django は調査 ID を受け取ります。調査 ID を使用して調査タイプを取得し、表示する必要がある質問を表示します。
def survey(request, survey_id):
survey_data = get_object_or_404(Survey, pk=survey_id)
survey_type = survey_data.surveytype
questions = Question.objects.all().filter(surveytype = survey_type).order_by('order')
フォームセットに関するdjangoのドキュメントを読みましたが、forms.pyに何を書かなければならないのか理解できません。そのため、views.pyでフォームを呼び出して、質問を表示するテンプレートでフォームをレンダリングし、回答モデルの回答。
事前に感謝し、私の英語で申し訳ありません.