Django电子选择从模块中选择

2024-05-20 12:27:53 发布

您现在位置:Python中文网/ 问答频道 /正文

那么假设我的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应用程序申请卡的,其中有一个quantity字段(很简单)、一个giftcard name字段(用于验证,同样,也很简单),我希望有一个收音机选择字段。收音机选择字段应填充与礼品卡相关的面额型号。但是,我不知道怎么做。有什么帮助吗?


Tags: django模型应用程序modelismodelsclassblah
1条回答
网友
1楼 · 发布于 2024-05-20 12:27:53

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

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

假设你喜欢它的渲染选择。如果不是,则可以子类化,或者在足够新的版本上循环模板中的选项。

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

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

或者,如果您使用的是模型表单:

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

相关问题 更多 >