Tro*_*roy 13 django django-admin
在尝试动态更改django admin的模型列表页面中显示的列时,我尝试重写__init__()我的ModelAdmin类的方法,以根据当前的权限动态添加或删除list_display属性中的特定字段.用户.但是,我发现ModelAdmin类只在每次重启时实例化一次,因此不起作用......
还有另一种动态更改list_display字段的方法吗?
Tro*_*roy 22
在问这个问题时,我偶然发现了答案,所以我想我会分享......
机票#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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2803 次 |
| 最近记录: |