我想知道应该如何在模型表单中使用模型选择选项。
示例(型号):
class NPCGuild(models.Model):
CATEGORIES=(
('COM', 'Combat'),
('CRA', 'Crafting'),
('WAR', 'Warfare'),
)
faction = models.ForeignKey(Faction)
category = models.CharField(max_length=3, choices=CATEGORIES)
name = models.CharField(max_length=63)
My Form:
class NPCGuildForm(forms.ModelForm):
name = forms.CharField()
category = forms.CharField(
some widget?)
faction_set = Faction.objects.all()
faction = forms.ModelChoiceField(queryset=faction_set, empty_label="Faction", required=True)
class Meta:
model = NPCGuild
fields = ['name', 'category', 'faction']
正如您所看到的,我不确定我应该做什么才能从我的模型中获得选择作为选择字段。也许也可以使用 ModelChoiceField 来完成,但是如何获取其中的选择呢?
您应该在 Meta 类中指定模型,并且字段将自动生成:
class NPCGuildForm(forms.ModelForm):
class Meta:
model = NPCGuild
如果需要,您可以添加额外的表单字段。阅读更多关于模型来源.
Update As karthikr评论中提到。如果您想在表单字段中设置可用选项,则必须使用forms.ChoiceField
, 像这样:
category = forms.ChoiceField(choices=NPCGuild.CATEGORIES)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)