Django: Como verificar se o widget de campo está marcado no modelo?

Eu criei um modelo personalizado para renderizar campos de formulário:

<tr class="{{field.field.widget.attrs.class}}">
    <th class="label">
        <label for="{{field.auto_id}}">
            {{field.label}}
            {% if not field.field.required %}<span class="optional">(optional)</span>{% endif %}
        </label>
    </th>
    <td class="field">
        {{field}}
        {% if field.errors %}<label class="error" for="{{field.auto_id}}">{{field.errors.0}}</label>{% endif %}
        {% if field.help_text %}<small class="help-text">{{field.help_text}}</small>{% endif %}
    </td>
</tr>

Mas quero verificar se o widget é uma caixa de seleção e, se sim, processá-lo de maneira diferente. Como posso fazer isso no modelo?