我在网上搜索了同样的东西,并得到了很多答案,但一些如何与他们中的任何一个工作。Django下拉框从数据库表列中填充
表:
- 报告:REPORTTYPE(从ReportCategory外键),名称,描述
- 报告类别:名称,描述
forms.py
class ReportForm_insert(forms.ModelForm):
class Meta:
model=Report
invent = ReportCategory.objects.all()
print invent
reportType_id = forms.ModelMultipleChoiceField(queryset = invent)
fields =('name','description',)
model.py
现在class ReportCategory(models.Model):
name = models.CharField(max_length=20)
description = models.CharField(max_length=20)
def __unicode__(self):
return self.name
class Report(models.Model):
reportType = models.ForeignKey(ReportCategory)
name = models.CharField(max_length=200)
description = models.CharField(max_length=300)
def __unicode__(self):
return self.name
,元类中我试图做两件事情:
首先,填充与 ReportCategory表的“名称”列中的值报告类型下拉框中。 其次,当表格中的所有其他字段都由用户 填充并按下该按钮时,字段中的数据应该保存在报表中的 中,同时记住ReportCategory表中的 的外键约束。
我不这么认为,这将显示在下拉框和只有文本框的形式的答案。此外,下拉框必须从ReportCategory表的'name'列中填充 – Compuser7
模型表单上的ForeignKeys(默认情况下)显示为
如果这不是您所要求的,您可能会使您的模式/描述错误。我正在阅读它,因为用户将使用表单创建报表对象,并且需要从可用选项列表中选择报表类型。这些选项将由ReportCategory表提供,并将对名称字段表示的用户具有可视表示。 – John