gpt4 book ai didi

django - 如果他们没有权限,则在 django admin 中隐藏操作

转载 作者:行者123 更新时间:2023-12-05 01:15:04 25 4
gpt4 key购买 nike

我在我的管理页面中添加了一个操作,允许用户将选定的记录导出到 Excel 工作表。现在我需要能够只允许一些用户能够导出数据。我有一个 UserProfile具有 can_export 的模型 bool 字段。

仅当他们拥有 can_export 时,我如何才能在 django admin 中显示“导出到 Excel”操作字段设置为 True?

我试图在 admin.py 中找到一种方法来获取请求对象并在设置操作之前执行 IF 语句,但没有运气。我当然得到一个 name'request' is not defined 错误。

if request.user.get_profile().can_export:
actions = [export_data()]

最佳答案

来自 FineManual ( https://docs.djangoproject.com/en/1.5/ref/contrib/admin/actions/ ):

    class MyModelAdmin(admin.ModelAdmin):
...

def get_actions(self, request):
actions = super(MyModelAdmin, self).get_actions(request)
if request.user.username[0].upper() != 'J':
if 'delete_selected' in actions:
del actions['delete_selected']
return actions

关于django - 如果他们没有权限,则在 django admin 中隐藏操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16151041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com