Фильтр и поля поиска в админке Django не работают

Я добавил поле загрузки файла в мой класс администратора django, который создает новые объекты другого типа. После добавления формы для этого, мои поля filter_horizontal и search_fields перестали работать. Я также не могу добавить более одного автора в книгу. Вот код для admin.py.

@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ('title',)
    ordering = ('title',)
    fields = ('title', 'title_en', 'title_ru', 'authors', 'description', 'description_en', 'description_ru', 'image',
              'narrators', 'age_range', 'genres', 'top_book', 'audio_files')
    search_fields = ('title', 'title_en', 'title_ru')
    filter_horizontal = ('authors', 'narrators')

    def get_form(self, request, obj=None, **kwargs):
        try:
            instance = kwargs['instance']
            return BookForm(instance=instance)
        except KeyError:
            return BookForm

    def add_view(self, request, form_url="", extra_context=None):
        extra_context = extra_context or {}
        extra_context['form'] = self.get_form(request)
        return super(BookAdmin, self).add_view(request, form_url=form_url, extra_context=extra_context)

    def change_view(self, request, object_id, form_url="", extra_context=None):
        extra_context = extra_context or {}
        book = Book.objects.get(id=object_id)
        extra_context["form"] = self.get_form(instance=book, request=request)
        return super(BookAdmin, self).change_view(request, object_id, form_url=form_url, extra_context=extra_context)

    def save_model(self, request, obj, form, change):
        obj.save()
        audio_files = request.FILES.getlist('audio_files')
        chapter_count = obj.chapter_set.count()
        for count, audio_file in enumerate(audio_files):
            Chapter.objects.create(book=obj, audio_file=audio_file, title=f'Մաս {chapter_count + 1 + count}')
        return super().save_model(request, obj, form, change)

Вот код для формы.

class BookForm(forms.ModelForm):
    audio_files = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple': True}))

    class Meta:
        model = Book
        fields = ('title', 'title_en', 'title_ru', 'authors', 'description', 'description_en', 'description_ru', 'image', 'narrators', 'age_range', 'genres', 'top_book')

Я хочу иметь возможность добавлять новые объекты Автор и Рассказчик и осуществлять поиск по этим полям. Это перестало работать после добавления формы в админку.

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