2011-02-07 2 views
1

У меня есть форма Джанго, который позволяет пользователю выбрать несколько вариантов:В каком поле модели 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 на стороне модели (что я ожидаю), но построение модели только для статического списка типов кредитных карт кажется излишним.

Итак: существует ли конкретный тип поля модели или другая форма конфигурации, которую я должен использовать для поддержки нескольких выборов из заранее определенного списка параметров?

Спасибо.

ответ

1
+1

Спасибо, я видел этот фрагмент (вероятно, следовало бы отметить, что), но я полагал, что 2+ лет спустя, функциональность будет встроена в Джанго. Думаю нет. – codebyren

+0

Вы можете посмотреть https://github.com/goinnn/django-multiselectfield, который вдохновлен этим фрагментом – dralshehri

Смежные вопросы