IsADirectoryError [Errno 21] при попытке отобразить пользовательское поле формы выбора

Я работаю с Python фреймворком Django v2.2. Я пытаюсь добавить пользовательские атрибуты к элементам <option>, чтобы они строились как <option ext='xx'>. Формы генерируются с помощью шаблонизатора Django admin, и я пытаюсь расширить их, а не создавать совершенно новые. Мой код:

class CustomFormatSelect(forms.Select):

    def __init__(self, attrs=None, choices=(), disabled_choices=()):
        super(forms.Select, self).__init__(attrs, choices=choices)
        
    def create_option(self, name, value, label, selected, index, subindex=None, attrs=None):
        if index:      
            dataformat = DataFormat.objects.get(id=index)
            extension = dataformat.ext

            option = super(forms.Select, self).create_option(name, value, label, selected, index, subindex, attrs) 
            option['attrs']['ext'] = extension

            return option

format = forms.ModelChoiceField(queryset=DataFormat.objects.all(), required=True, widget=CustomFormatSelect(attrs={'class':'file_formats'}))

Я использую режим отладки Django и после выполнения этого фрагмента получаю ошибку:

[Errno 21] Является директорией: '.../miniconda3/envs/migrator_admin/lib/python3.7/site-packages/django/contrib/admin/templates'

.

Дальнейшие сообщения:

В шаблоне .../templates/django/forms/widgets/select.html, ошибка в строке 3

.

И он указывает на строку в шаблоне:

3     {% include option.template_name with widget=option %}{% endfor %}{% if group_name %}

Я довольно новичок в Django, поэтому мой вопрос в том, должен ли я сделать это таким образом (если это решаемо), или я должен создать совершенно новый шаблон, который отделен от Django admin?

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