Найдите тип видимого поля из 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'