在试图动态更改显示在Django管理模型列表页面的专栏中,我试图重写__init__()
我的ModelAdmin类的方法来动态地从list_display属性添加或删除某一特定领域,根据不同的权限当前用户的。 不过,我发现的ModelAdmin类仅每重启一次实例化,这样就不会工作...
有另一种方式来动态改变list_display场?
在试图动态更改显示在Django管理模型列表页面的专栏中,我试图重写__init__()
我的ModelAdmin类的方法来动态地从list_display属性添加或删除某一特定领域,根据不同的权限当前用户的。 不过,我发现的ModelAdmin类仅每重启一次实例化,这样就不会工作...
有另一种方式来动态改变list_display场?
虽然问这个问题,我通过这个答案迷迷糊糊的,所以我想我会分享...
票务#14206表明,添加此功能前Django的一段时间(1.4版,我相信)。 的ModelAdmin类现在支持get_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