template change django django-admin django-filter

change - Cómo modificar el título del filtro de administrador de Django



django admin change title (2)

Tengo un filtro (uno de los valores predeterminados y no personalizado)

¿Es posible simplemente cambiar el título del filtro, sin escribir un filtro personalizado completamente nuevo?

Porque la única personalización que necesito del filtro es su título. Debería haber una forma de hacerlo sin volver a escribir todo el filtro y las búsquedas.


Necesitará tener una clase de filtro personalizada, pero en realidad puede implementar una fábrica de clases de filtro personalizada que puede usar en cualquier lugar que solo necesite un filtro con un título personalizado:

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

Después de eso en tu clase ModelAdmin :

list_filter = ( (''fieldname'', custom_titled_filter(''My Custom Title'')), ''plain_field'', ... )

(Tenga en cuenta que el filtro personalizado no es solo un nombre de campo, sino una tupla de (field_name, CustomFilterClass) ; simplemente está obteniendo su CustomFilterClass de su fábrica custom_titled_filter() )


Si define etiquetas en sus campos en su modelo, debería ver el cambio en las opciones de filtro: Me gusta,

is_staff = models.BooleanField(verbose_name="My Best Staff''s", default=False)

Aquí "My Best Staff''s" es la etiqueta de filtro.