У меня есть форма 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.
Но я думаю, чтоCharField с параметром choices может принимать только один выбор, потому что моя форма никогда не проверяется, и я получаю ошибку вроде:
Значение u "[u'visa ']" не является допустимым выбором.
И это, безусловно, похоже на правильный выбор.
Я видел, что некоторые люди работают с ManyToManyField на стороне модели (которую я 'ожидаю), но построение модели только для статического списка типов кредитных карт кажется излишним.
Итак: есть ли конкретный тип поля модели или другая конфигурация формы, которую я должен использовать для поддержки нескольких выборов из предварительноопределенный список опций?
Спасибо.