3

我正在尝试创建一个灵活的应用程序来管理调查。我想要的是一个 显示与调查相关的所有问题、选项和后续问题的视图。我有以下型号:

class Survey(models.Model):
   title = models.CharField(max_length=300)

class Question(models.Model):
   question_text = models.CharField(max_length=300)
   belongs_to_survey = models.ForeignKey('Survey', related_name='questions') 
   follow_up_to_answer = models.ForeignKey('Question', null=True, related_name='follow_up_questions')

class Option(models.Model):
   answer_text = models.CharField(max_length=200)
   belongs_to_question = models.ForeignKey('Question', related_name='options')

我研究了 inlineformset_factory,但这只允许“一级嵌套”。我所拥有的理论上是“无限的”

Survey -> Questions -> Options -> Follow-up-Questions -> Options --\
                                             ^\____________________/ 

难道我做错了什么?据我所见,这个问题应该很常见,但是 stackoverflow 和其他地方的问题数量表明并非如此。

4

1 回答 1

0

使用inlineformset_factory两次:

  1. 显示Question实例Survey
  2. 显示Option每个实例Question

option_formset然后,在模板中以实例的方式显示表单,在每个form.question_formset

于 2013-03-21T13:35:00.127 回答