Не может правильно переопределить атрибуты виджета 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 изменился. Если вы действительно хотите взломать его. Вы могли бы создать пользовательский виджет с шаблоном, который использует желаемое имя.