Перейти к содержанию

Поиск

Плагины могут определять и регистрировать собственные модели для расширения основной функциональности поиска InfraVision. Обычно плагин включает файл с именем search.py, который содержит все поисковые индексы для его моделей (см. пример ниже).

# search.py
from netbox.search import SearchIndex
from .models import MyModel

class MyModelIndex(SearchIndex):
    model = MyModel
    fields = (
        ('name', 100),
        ('description', 500),
        ('comments', 5000),
    )
    display_attrs = ('site', 'device', 'status', 'description')

Поля, перечисленные в display_attrs, не будут кэшироваться для поиска, но будут отображаться рядом с объектом, когда он появляется в результатах глобального поиска. Это полезно для передачи пользователю дополнительной информации об объекте.

Чтобы зарегистрировать один или несколько индексов в InfraVision, определите список с именем indexes в конце этого файла:

indexes = [MyModelIndex]

Совет

Путь к списку поисковых индексов можно изменить, установив search_indexes в экземпляре PluginConfig.

::: netbox.search.SearchIndex