/ / Django форма-магьосник typesoicefield връща низ вместо boolean - python, django, python-2.7, django-formwizard, choicefield

Django форма-магьосник typesoicefield връща низ вместо boolean - python, django, python-2.7, django-formwizard, choicefield

така че аз съм с Django 1.3 форма-магьосник https://github.com/stephrdev/django-formwizard и аз съм тичане в проблеми с моя вид, които се връщат u"False" вместо просто False (boolean).

Какво трябва да направя?

ONE_OR_MULTIPLE_CHOICES = (
(False, "One"),
(True, "Multiple")
)

class PublicJobCreateForm(forms.Form):
multiple = forms.TypedChoiceField(choices=ONE_OR_MULTIPLE_CHOICES, widget=forms.RadioSelect)

аз наричам този начин:

def done(self, form_list, **kwargs):
create_form_data = form_list[0].cleaned_data
if create_form_data["multiple"]:
print "something"

някакви идеи?

Отговори:

1 за отговор № 1

Не сте посочили coerce за вашия TypedChoiceField.

ONE_OR_MULTIPLE_CHOICES = (
(0, "One"),
(1, "Multiple")
)

multiple = forms.TypedChoiceField(choices=ONE_OR_MULTIPLE_CHOICES,
widget=forms.RadioSelect,
coerce=int)

Ако искате да използвате False и True вместо 0 и 1, след това отбележете, че използвате coerce=bool не работи. Това е така, защото низът "False" е принуден да True. Този отговор предлага да използвате обичайна ламбда функция:

coerce = lambda x: x == "True"