Django удаляет мои пользовательские html-атрибуты из тега option
Я пытаюсь добавить пользовательские атрибуты data-* к тегу option в элементе select. У меня есть свой шаблон (виджет), который используется Django, но кажется, что Django удаляет мои пользовательские атрибуты. где-то в дальнейших шагах
Мой пользовательский шаблон опций:
widgets/tree_option_template.html
<option value="{{ widget.attrs.lft|stringformat:'s' }}"
data-test="test"
>{{ widget.label }} - {{ widget.attrs.rght|stringformat:'s' }}</option>
Пользовательский виджет:
class MultiChoiceFilterWidget(forms.SelectMultiple):
"""
TODO.
Based on FilteredSelectMultiple
"""
option_inherits_attrs = True
option_template_name = "widgets/tree_option_template.html"
...
Usage in admin.py:
class UserAdminForm(forms.ModelForm):
class Meta:
model = User
fields = "__all__"
read_projects = CustomTreeNodeMultipleChoiceField(
queryset=Project.objects.filter(disabled=False),
required=False,
widget=MultiChoiceFilterWidget(verbose_name="Projects", is_stacked=False),
)
Когда я изменяю, например, атрибут value, он изменяется и в DOM, но мои пользовательские атрибуты не доступны в HTML:

Как мы видим, нет атрибута data-test...
Есть идеи, почему мои пользовательские теги не видны в HTML?
Спасибо!
ОТВЕТ/РЕШЕНИЕ
Я нашел проблему. Проблема заключалась в том, что FilteredSelectMultiple, от которого я наследую, подключил некоторые JS файлы, которые манипулировали моими HTML атрибутами.
@property
def media(self):
extra = "" if settings.DEBUG else ".min"
js = [
"vendor/jquery/jquery%s.js" % extra,
"jquery.init.js",
"core.js",
"SelectBox.js",
"SelectFilter2.js",
]
...
Когда я удалил эти JS файлы (именно SelectBox.js), то появились мои пользовательские HTML атрибуты.