Не может правильно переопределить атрибуты виджета django Form

Я хочу изменить имя виджета, но тогда у меня будет два имени внутри input

class DocumentForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        # to delete colon after field's name
        kwargs.setdefault('label_suffix', '')
        super(DocumentForm, self).__init__(*args, **kwargs)

    class Meta:
        model = Document
        name = "document"
        fields = ('id',
                  'comment',
                  'private',
                  'position',
                  'marked')
        # fields = '__all__'

    marked = forms.IntegerField(
        required=False,
        widget=forms.NumberInput(
            attrs={
                'name': "asdasdjasdasjdldsa",
                'id': "device_documents___name___marked",
                'class': 'check preview_image',
                'onchange': 'cbChange(this)',
                'mazen': "document_set-__name__-position"
            },
        )
    )

но если я выведу это, у меня будет два имени name="marked" и name="asdasdjasdasjdldsa" как удалить первое?

print(f["marked"])
<input type="number" name="marked" name="asdasdjasdasjdldsa" id="device_documents___name___marked" class="check preview_image" onchange="cbChange(this)" mazen="document_set-__name__-position">

Django необходимо, чтобы имя поля соответствовало определению класса. В противном случае невозможно будет обработать отправленные данные формы. Единственный способ изменить атрибут name виджета - это изменить определение поля формы.

Вы не сказали почемувы хотите, чтобы атрибут name изменился. Если вы действительно хотите взломать его. Вы могли бы создать пользовательский виджет с шаблоном, который использует желаемое имя.

Вернуться на верх