Ответ 1
Вам нужно будет создать собственный класс фильтров, но вы можете фактически реализовать собственный класс фильтра factory, который вы можете использовать везде, где вам нужен фильтр с пользовательским названием:
from django.contrib import admin
def custom_titled_filter(title):
class Wrapper(admin.FieldListFilter):
def __new__(cls, *args, **kwargs):
instance = admin.FieldListFilter.create(*args, **kwargs)
instance.title = title
return instance
return Wrapper
После этого в вашем классе ModelAdmin
:
list_filter = (
('fieldname', custom_titled_filter('My Custom Title')),
'plain_field',
...
)
(Обратите внимание, что настраиваемый фильтр - это не просто имя поля, а кортеж (field_name, CustomFilterClass)
, вы просто получаете свой CustomFilterClass
от custom_titled_filter()
factory)