所以我想说我的Django应用程序中有以下模型:
class Gift_Card(models.Model):
title = models.CharField(blah blah)
company = models.CharField(blah blah)
denomination = models.ForeignKey('Denomination')
class Denomination(models.Model):
is_subscription = models.BooleanField(blah blah)
is_money = models.BooleanField(blah blah)
amount = models.IntegerField(blah blah)
写得不好,但这就是我想要的:
我有一个表格,用于从我的Django应用程序请求一张卡片,并且有一个数量字段(很容易),一个礼品卡名称字段(用于验证,再次,很容易),我希望有一个无线电选择字段。无线电选择字段应填充与手头的礼品卡相关的面额模型。但是,我不确定该怎么做。有什么帮助吗?
答案 0 :(得分:10)
这是一个小部件级别的选择,而不是字段级别的选择,内置的RadioSelect
小部件完全符合您的要求:
https://docs.djangoproject.com/en/dev/ref/forms/widgets/#radioselect
无论如何,假设你喜欢它的渲染选择。如果没有,你可以继承,或者在最近的版本上循环遍历模板中的选项。
要使用它,请使用指定了widget
参数的ModelChoiceField:
denomination = forms.ModelChoiceField(queryset=Denomination.objects.all(), widget=forms.RadioSelect)
或者,如果您使用的是ModelForm:
class GiftCardForm(forms.ModelForm):
class Meta:
model = Gift_Card
widgets = {'denomination': forms.RadioSelect}