Поиск в админке Django 3.0 по разным полям модели

Я столкнулся с некоторыми проблемами с проектом, который у меня сейчас... У меня есть различные модели с включенной структурой (одна категория может иметь несколько подкатегорий) и я хочу реализовать поиск по каждому полю, которое у меня есть в модели... сейчас похоже, что этот код работает только для категорий первого уровня:

from django.contrib import admin

from .models import *


    def register_models(models_list):
        for model, fields in models_list.items():
            model_fields = ()
            for field in model._meta.fields:
                if field.name in fields:
                    model_fields = (field.name, *model_fields)
    
            class Admin(admin.ModelAdmin):
                list_display = ('__str__', *model_fields)
                list_filter = model_fields
                search_fields = [*model_fields]
    
            admin.site.register(model, Admin)

Вопрос, можно ли как-то реализовать поиск для моей структуры с большим количеством подкатегорий? Т.е. если я нахожусь в категории2 с большим количеством подкатегорий, я хочу искать в подкатегории категории2, которая содержит любое поле с текстом test

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