【发布时间】:2014-04-29 19:42:44
【问题描述】:
我想根据我存储在数据库中的值设置一个表单。
假设我有一些这样的模型:
class Questions(models.Model):
question = models.CharField(max_length=350)
class Answers(models.Model):
question = models.ForeignKey(Questions)
answer = models.CharField(max_length=350)
我想以这种方式创建一个表单:
for x in Questions:
answer = forms.CharField(label = x.question)
因此,表单中的答案字段数量与数据库中存储的问题完全相同。有什么想法吗?
【问题讨论】:
-
我最近有一个类似的问题。看看这是否有助于stackoverflow.com/questions/23275562/…。在您的字典中,键是问题对象,值是相关答案对象的查询集。
-
@souldeux,令人惊讶的是,它确实有帮助!它把我引向了 ModelChoiceField/ChoiceField,这基本上是解决这个问题的关键。它还向我展示了字段的迭代在 init 中进行,而不仅仅是在表单类中松散。我将在下面发布我的解决方案,以防有人可以帮助我找到更清洁的解决方案。谢谢!
标签: python django python-3.x django-models django-forms