在尝试动态更改django管理界面中的模型列表页显示的列时,我尝试覆盖ModelAdmin类的__init__()方法以根据当前用户的权限动态添加或删除特定字段到list_display属性中。然而,我发现每次重启只实例化一次ModelAdmin类,所以这种方法行不通...
是否有其他方法可以动态更改list_display字段呢?
在尝试动态更改django管理界面中的模型列表页显示的列时,我尝试覆盖ModelAdmin类的__init__()方法以根据当前用户的权限动态添加或删除特定字段到list_display属性中。然而,我发现每次重启只实例化一次ModelAdmin类,所以这种方法行不通...
是否有其他方法可以动态更改list_display字段呢?
def get_list_display(self, request):
if request.user.has_perm('my_app.my_permission'):
list_display = ('field_1', 'field_2', 'dynamic_field',)
else:
list_display = ('field_1', 'field_2',)
return list_display