我正在尝试创建一个灵活的应用来管理调查。我想拥有的是一个 查看,显示与调查相关的所有问题,选项和后续问题。我有以下型号:
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和其他地方的问题数量则表明不然。
答案 0 :(得分:0)
两次使用inlineformset_factory
:
Question
Survey
个实例
Option
Question
个实例
醇>
然后,在模板显示表单中,每option_formset
form
question_formset
之后打印{{1}}个实例。