Как изменить имя поля, созданного с помощью функции в list_display в admin.py

у меня есть modelAdmin в admin.py. я хочу отобразить значение, которое я сгенерировал из функции в модели. вот код:

admin.register(Salary)
class Salary(admin.ModelAdmin):
    list_display=('Category','BasicPA','BasicBM','Grade','Step','total')
    def BasicBM(self,instance):
        return instance.get_BasicBM()
    def total(self,instance):
        return instance.total()
    fieldsets =(
        ('Grade Salary Information',{
            'fields':('Category','BasicPA','RentP','TransportP','MealG','UtilityP','WeighInP','CSAP','TSAP','CallG','HazardG','RuralAllG','ShiftG','DomesticLawG','StateCounselG','Grade','Step')
            }),
        )

Это работает, но он показывает 'BasicBM' в заголовке list_display, а я хочу изменить его на 'Basic B/M'. Я не могу изменить его, потому что я думаю, что имя строки в списке list_display должно соответствовать имени функции в классе Salary в admin.py, чтобы это работало, а имя функции не может содержать '/' или пробелы. пожалуйста, как мне этого добиться? Заранее спасибо!

Посмотрите на декоратор отображения. Я никогда не использовал его, но, похоже, он делает то, что вы хотите.

https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#django.contrib.admin.display

@admin.display(
    description='Basic B/M',
)
def BasicBM(self,instance):
        return instance.get_BasicBM()
Вернуться на верх