Найдите тип видимого поля из visible_fields()
У меня есть следующий код внутри моего forms.py
. Я использую ModelForm для генерации представления формы
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
print(visible)
visible.field.widget.attrs['class'] = 'form-control'
Цель - не ставить класс form-control
на поле типа boolen/checkbox. Но мне трудно понять, как получить тип поля из приведенных выше строк.
print(visible)
показывает следующее в консоли
Я пробовал использовать field.type
или field.getType()
, кажется, ничего не работает.
Вы можете проверить это, найдя .field.widget.input_type
:
def __init__(self, *args, **kwargs):
super(NewPlayerForm, self).__init__(*args, **kwargs)
for visible in self.visible_fields():
if visible.field.widget.input_type == 'checkbox':
visible.field.widget.attrs['class'] = 'form-control'