2011-02-07 77 views
1

我有一个Django的形式,它允许用户选择多个选项:哪个Django模型字段带有CheckboxSelectMultiple表单字段?

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. 

但我想,与选择一个CharField参数只能接受单个选项,因为我的表单从未验证过,并且出现如下错误:

值u“[u'visa']”不是一个有效的选择。

它肯定看起来像一个有效的选择。

我已经看到,some people得到这与模型端(我期望)ManyToManyField工作,但建立一个模型只是为了一个静态的信用卡类型列表似乎矫枉过正。

因此:是否有一个特定的模型字段类型或不同的表单配置,我应该使用它来支持预先定义的选项列表中的多个选择?

谢谢。

回答