Какое поле модели Django содержит поле формы CheckboxSelectMultiple? - PullRequest
3 голосов
/ 07 февраля 2011

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

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

Спасибо.

1 Ответ

2 голосов
/ 07 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...