【问题标题】:Which Django model field goes with a CheckboxSelectMultiple form field?哪个 Django 模型字段与 CheckboxSelectMultiple 表单字段一起使用?
【发布时间】:2011-06-22 11:20:18
【问题描述】:

我有一个允许用户选择多个选项的 django 表单:

CARDS = (
    ("visa", "Visa"),
    ("mastercard", "MasterCard"),
)

class PaymentForm(forms.ModelForm):
    credit_cards = forms.MultipleChoiceField(choices=CARDS, widget=forms.CheckboxSelectMultiple)
    # ... etc.

我将表单的关联模型设置为:

class Payment(models.Model):
    user = models.OneToOneField(User)
    credit_cards = models.CharField(choices=CARDS, max_length=100)
    # ... etc.

但我认为带有choices 参数的 CharField 只能接受一个选择,因为我的表单永远不会验证并且我收到如下错误:

Value u"[u'visa']" 不是一个有效的选择。

而且它看起来确实是一个有效的选择。

我已经看到 some people 在模型端使用 ManyToManyField 来实现这一点(我希望如此),但仅为信用卡类型的静态列表构建模型似乎有点过头了。

那么:我应该使用特定的模型字段类型或不同的表单配置来支持从预定义的选项列表中进行多项选择吗?

谢谢。

【问题讨论】:

    标签: django django-models django-forms


    【解决方案1】:

    【讨论】:

    • 谢谢,我确实看到了这个 sn-p(可能应该提到过),但我认为 2 多年后,该功能将内置到 django 中。猜不到。
    • 你可能想看看受那个 sn-p 启发的github.com/goinnn/django-multiselectfield
    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 2020-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 2013-08-27
    相关资源
    最近更新 更多