Sèkun blog


Dans le list_filter de ModelAdmin de Wagtail, remplacer le tiret désignant la valeur par défaut

2024-02-02 dev | tags : wagtail wagtail

Par défaut, si le champ peut être vide, wagtail affiche -. On peut le remplacer.

Il faut récupérer le bon type de filtre, voir la liste des classe ici. Dans mon cas, il s'agissait d'un RelatedFieldListFilter, car le champ est une ForeignKey.

J'ai donc:

# wagtail_hooks.py
from django.contrib.admin import RelatedFieldListFilter

class SubscriberAdminStatusFilter(RelatedFieldListFilter):
    def choices(self, changelist):
        for choice in super().choices(changelist):
            if choice["display"] == "-":
                choice["display"] = "À traiter"
            yield choice

class SubscriberAdmin(ModelAdmin):
    # ...
    list_filter = (
        ("status_event", SubscriberAdminStatusFilter)
    )
Article publié le 2 février 2024.