2015-12-04 3 views
0

У меня есть форма с набором флажков (все под тем же именем поля) в ответе WebTest, и я хотел бы снять некоторые из них в соответствии с их значением , Я пробовал:Django WebTest: check/uncheck checkbox по значению

my_form = response.forms['form-i-want'] 
for i in range(len(my_form.fields.get('field-i-want'))): 
    if my_form.fields.get('field-i-want')[i].value == "value-to-uncheck": 
     my_form.fields.get('field-i-want')[i].checked = False 

Очевидно, что это очень взломанный код, и должен быть лучший способ. Кроме того, это фактически не снимает флажок, который я хочу: когда я затем перебираю флажки в форме, больше нет элемента со значением value-i-want: значение было установлено на None. И когда я отправляю форму, она ведет себя так, как будто ничего не было сделано в форме.

ответ

0

К сожалению, у вашего метода установки статуса ввода checked действительно будет нежелательный побочный эффект удаляемого элемента ввода.

Согласно the docs, чтобы отметить вход флажок в проверяемой вы хотите написать:

my_form['field-i-want'] = True

Где 'field-i-want' является значение атрибута элемента ввода name.

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