繁体   English   中英

Django RadioSelect从模型中选择

[英]Django RadioSelect Choices From Model

所以我可以说我的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)

写得不好,但这就是我想要的:

  • 通用礼品卡模型
  • 支持多种金额(1年订阅卡,20美元礼品卡等)

我有一个表格来写我的Django应用程序中的卡片,并且有一个数量字段(很容易),一个礼品卡名称字段(用于验证,再次,很容易),我希望有一个无线电选择字段 无线电选择字段应填充与手头的礼品卡相关的面额模型。 但是,我不确定该怎么做。 有帮助吗?

这是一个小部件级别的选择,而不是字段级别的选择,内置的RadioSelect小部件完全符合您的要求:

https://docs.djangoproject.com/en/dev/ref/forms/widgets/#radioselect

无论如何,假设你喜欢它的渲染选择。 如果不是,您可以子类化,或者在最新版本上循环遍历模板中的选项。

要使用它,请使用ModelChoiceField并指定widget参数:

denomination = forms.ModelChoiceField(queryset=Denomination.objects.all(), widget=forms.RadioSelect)

或者,如果您使用的是ModelForm:

class GiftCardForm(forms.ModelForm):
    class Meta:
        model = Gift_Card
        widgets = {'denomination': forms.RadioSelect}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM