Я столкнулся с той же проблемой, что и Джеймс Лин в Django 1.10, но обошел ее, обновив словарь attrs
вместо назначения нового экземпляра виджета.В моем случае я не мог гарантировать наличие ключа атрибута в словаре.
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['my_checkbox'].widget.attrs.update({'onclick': 'return false;'})