Как автозаполнить в django admin.ModelAdmin.search_help_text названия полей параметров, определенных в admin.ModelAdmin.search_fields

Насколько я понимаю, Django предлагает встроенную настройку функциональности поиска по списку изменений django-admin через параметры admin.ModelAdmin.search_fields и admin.ModelAdmin.search_help_text.

Я хочу пойти немного дальше, чтобы django автоматически заполнял admin.ModelAdmin.search_help_text параметр verbose_name полями, указанными в admin.ModelAdmin.search_fields.

Например, рассмотрим следующий код:

class FinancialYearAdmin(admin.ModelAdmin):
    fields = ['financialYearEnding']
    list_display = ('financialYearEnding', 'dbEntryCreationDateTime', 'dbLastModifiedDateTime')
    search_fields = ['financialYearEnding']
    search_help_text = "Seach here using the following fields in the database:"
    for searchField in search_fields:
        search_help_text += FinancialYear._meta.get_field(searchField).verbose_name

Выдается следующий опыт поиска:

enter image description here

Однако у него есть следующие ограничения:

  1. Текст справки в окне поиска полностью игнорирует символ перехода на новую строку.
  2. Последние 3 строки должны быть повторены в каждом классе ModelAdmin, который я создаю, хотя и с изменением имени класса Model.

Есть ли способ написать эти последние 3 строки кода, чтобы search_help_text автоматически заполнялся из search_fields, или чтобы search_help_text заполнялся вызовом функции без необходимости повторять код во всех дочерних классах ModelAdmin?

Возможно, через наследование от базового абстрактного класса ModelAdmin?

[Примечание:] financialYearEnding, dbEntryCreationDateTime и dbLastModifiedDateTime - все параметры в классе FinancialYear Model.

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