Django-更改modelformset\u工厂删除标签

Django-更改modelformset\u工厂删除标签,django,django-forms,Django,Django Forms,当can\u delete=True时,是否可以更改modelformset工厂中删除字段的标签 forms.py: class LayerMapOptionsForm(forms.ModelForm): layerLink = forms.CharField(label='layer', required=False) styleLink = forms.CharField(label='style', required=False) labelLink = forms

can\u delete=True
时,是否可以更改modelformset工厂中删除字段的标签

forms.py:

class LayerMapOptionsForm(forms.ModelForm):
    layerLink = forms.CharField(label='layer', required=False)
    styleLink = forms.CharField(label='style', required=False)
    labelLink = forms.CharField(label='label', required=False)

    def __init__(self, *args, **kwargs):
        super(LayerMapOptionsForm, self).__init__(*args, **kwargs)
        self.fields['layerLink'].widget = LayerLinkWidget(self.instance.layer)
        self.fields['styleLink'].widget = LayerStyleLinkWidget(self.instance)
        self.fields['labelLink'].widget = LayerLabelLinkWidget(self.instance)

    class Meta:
        model = LayerMapOptions
        fields =  ['layerLink', 'styleLink', 'labelLink', 'visible']
        widgets= {
            'id' : forms.HiddenInput(attrs={'class': 'layer_id'})
        }
views.py:

layers_ordered = LayerMapOptions.objects.filter(basqui_map=map_selected) \
                                        .order_by('position')
layerForm = modelformset_factory(LayerMapOptions, form=LayerMapOptionsForm,
                                 extra=0, can_delete=True)
formset = layerForm(queryset=layers_ordered)

是的,这是可能的。重写基本表单集的
add_fields()
方法:

from django.forms.models import BaseModelFormSet
from django.forms.formsets import DELETION_FIELD_NAME

class LayerMapOptionsFormSet(BaseModelFormSet):
    def add_fields(self, form, index):
        super(LayerMapOptionsFormSet, self).add_fields(form, index)
        form.fields[DELETION_FIELD_NAME].label = 'To be or not to be?'

layerForm = modelformset_factory(LayerMapOptions, form=LayerMapOptionsForm,
                                 formset=LayerMapOptionsFormSet,
                                 extra=0, can_delete=True)

是的,这是可能的。重写基本表单集的
add_fields()
方法:

from django.forms.models import BaseModelFormSet
from django.forms.formsets import DELETION_FIELD_NAME

class LayerMapOptionsFormSet(BaseModelFormSet):
    def add_fields(self, form, index):
        super(LayerMapOptionsFormSet, self).add_fields(form, index)
        form.fields[DELETION_FIELD_NAME].label = 'To be or not to be?'

layerForm = modelformset_factory(LayerMapOptions, form=LayerMapOptionsForm,
                                 formset=LayerMapOptionsFormSet,
                                 extra=0, can_delete=True)

是的,这是可能的。重写基本表单集的
add_fields()
方法:

from django.forms.models import BaseModelFormSet
from django.forms.formsets import DELETION_FIELD_NAME

class LayerMapOptionsFormSet(BaseModelFormSet):
    def add_fields(self, form, index):
        super(LayerMapOptionsFormSet, self).add_fields(form, index)
        form.fields[DELETION_FIELD_NAME].label = 'To be or not to be?'

layerForm = modelformset_factory(LayerMapOptions, form=LayerMapOptionsForm,
                                 formset=LayerMapOptionsFormSet,
                                 extra=0, can_delete=True)

是的,这是可能的。重写基本表单集的
add_fields()
方法:

from django.forms.models import BaseModelFormSet
from django.forms.formsets import DELETION_FIELD_NAME

class LayerMapOptionsFormSet(BaseModelFormSet):
    def add_fields(self, form, index):
        super(LayerMapOptionsFormSet, self).add_fields(form, index)
        form.fields[DELETION_FIELD_NAME].label = 'To be or not to be?'

layerForm = modelformset_factory(LayerMapOptions, form=LayerMapOptionsForm,
                                 formset=LayerMapOptionsFormSet,
                                 extra=0, can_delete=True)