0
我不确定我了解modelformset_factory
库的工作原理。我想向用户展示一个动态数量的表单以向数据库添加新项目。Django ModelFormSet排除(或过滤)现有项目
我的模式是这样的:
#models.py
class Question(models.Model):
user = models.ForeignKey(User)
text = models.CharField(max_length=100)
class Answer(models.Model):
question = models.ForeignKey(Question)
text = models.CharField(max_length=100)
,因此用户可以定义的问题,并尽可能多的回答(选择)这个问题。
所以在我看来,我希望得到他们想要多少答案添加和创建动态表单集,这样的:
def q_answers(request, qid, howManyAnswersMore):
AnswerModelFormSet = modelformset_factory(Answer, fields=('question','text'), extra = howManyMore)
formset = AnswerModelFormSet()
的问题是,我的表单集包含数据库中所有的答案(所以问题#1的回答#1,q1的a2,q2的a1,q2的a2等)
但是,我只想显示URL中用qid
参数表示的问题的答案。如何过滤仅与该问题相关的答案项目?
此外,我可以排除已经存在的项目,只让用户添加新的问题吗?
感谢您的帮助!
的问题是不是与工厂,但是你如何实例化你不显示的formset。 –
@DanielRoseman我不知道我把哪一条线放在。我添加了'formset = AnswerModelFormSet()'这一行,并将这个formset传递给模板。 – jeff