Обязательное логическое поле? - PullRequest
4 голосов
/ 05 августа 2010

У меня есть логическое поле,

is_operable = BooleanField(widget=RadioSelect(choices=YES_OR_NO, renderer=InlineRadioFieldRenderer), required=False, initial=True)

, которое отображается как две радиокнопки (да или нет), но я хочу, чтобы оно было обязательным.Проблема в том, что если я изменю его на required=True, он выдаст ошибку проверки, когда получит False.

. Есть ли способ обойти это?


YES_OR_NO = (
    (True, 'Yes'),
    (False, 'No')
)

Ответы [ 2 ]

3 голосов
/ 05 августа 2010

Я бы порекомендовал использовать TypedChoiceField, который приводит выбор YES_OR_NO в логическое значение. Смотрите документы: http://docs.djangoproject.com/en/1.2/ref/forms/fields/#django.forms.TypedChoiceField

3 голосов
/ 05 августа 2010

Оставьте его как required=False и напишите пользовательский метод clean_is_operable, который проверяет, что вы получили то, что вы хотите, иначе выдает ошибку ValidationError или подобное

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