如何更改 admin.py 中 list_display 中的函数生成的字段的名称
How to change the name of a field generated with a function in list_display in admin.py
我在 admin.py 中有一个 modelAdmin
。我想显示我从模型中的函数生成的值。这是代码:
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')
}),
)
这有效,但它在 list_display
标题上显示 'BasicBM',我想将其更改为 'Basic B/M'。我无法更改它,因为我认为 list_display
列表中的字符串名称必须与 admin.py 中的 class Salary 中的函数名称相匹配才能正常工作以及名称函数的 of 不能包含“/”或空格。请问,我该如何实现?提前致谢!
看看显示装饰器。我从未使用过它,但它似乎可以满足您的需求。
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()
我在 admin.py 中有一个 modelAdmin
。我想显示我从模型中的函数生成的值。这是代码:
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')
}),
)
这有效,但它在 list_display
标题上显示 'BasicBM',我想将其更改为 'Basic B/M'。我无法更改它,因为我认为 list_display
列表中的字符串名称必须与 admin.py 中的 class Salary 中的函数名称相匹配才能正常工作以及名称函数的 of 不能包含“/”或空格。请问,我该如何实现?提前致谢!
看看显示装饰器。我从未使用过它,但它似乎可以满足您的需求。
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()