Как автозаполнить в 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
Выдается следующий опыт поиска:
Однако у него есть следующие ограничения:
- Текст справки в окне поиска полностью игнорирует символ перехода на новую строку.
- Последние 3 строки должны быть повторены в каждом классе ModelAdmin, который я создаю, хотя и с изменением имени класса Model.
Есть ли способ написать эти последние 3 строки кода, чтобы search_help_text
автоматически заполнялся из search_fields
, или чтобы search_help_text
заполнялся вызовом функции без необходимости повторять код во всех дочерних классах ModelAdmin?
Возможно, через наследование от базового абстрактного класса ModelAdmin?
[Примечание:] financialYearEnding
, dbEntryCreationDateTime
и dbLastModifiedDateTime
- все параметры в классе FinancialYear Model.