Добавление onclick в поле, которое создается при добавлении can_delete в набор форм
Как добавить onclick="functionName()" к полю, которое создается при использовании can_delete=True в formset? <input type="checkbox" name="form-0-DELETE" id="id_form-0-DELETE" onclick="functionName()">
Вы можете сделать это многими способами:
переопределение атрибута formset.deletion_widget
class MyFormSet(django.forms.Formset):
deletion_widget = CheckboxInput(attrs={'onclick':"functionName()})
...
переопределить метод класса formset.def get_deletion_widget
class MyFormSet(django.forms.Formset):
...
@classmethod
def get_deletion_widget(cls):
response = super().get_deletion_widget()
response.attrs = getattr(response, 'attrs', {}) | {'onclick':"functionName()}
return response
переопределить метод экземпляра add_fields
class MyFormSet(django.forms.Formset):
...
def add_fields(self, form, index):
super().add_fields(form, index)
if DELETION_FIELD_NAME in form.fields:
widget = form.fields[DELETION_FIELD_NAME].widget
widget.attrs = getattr(widget, 'attrs', {}) | {'onclick':"functionName()}
Вы можете переопределить form.fields на form.init, form.fields на render, template with form on render. Много способов сделать это.