【问题标题】:Limiting fields in admin by usergroup按用户组限制管理员中的字段
【发布时间】:2012-01-28 02:37:56
【问题描述】:

我想让不同的用户组访问我的 Django 站点的 Admin 部分并控制他们能够访问哪些字段。我计划使用自定义 ModelAdmin 对象来执行此操作,该对象根据当前用户的组成员资格决定将什么添加到 fieldsets 属性。

  • 这是否安全(即,如果某个字段未显示,并且管理员使用 firebug 或其他方式更改表单,Django 会阻止它)吗?
  • 这是最好的方法吗?

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    是的,这是安全的,因为它是在服务器端处理的。我不知道fieldsets。您可以使用get_form 解决它。例如(取自this answer):

    def get_form(self, request, obj=None, **kwargs):
        current_user = request.user
        if not current_user.profile.is_manager:
            self.exclude = ('added_by',)
            self.list_display = ('name', 'finish')
        form = super(MovieAdmin, self).get_form(request, obj, **kwargs)
        form.current_user = current_user
        return form
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2015-08-19
      相关资源
      最近更新 更多