允许用户访问admin中的特定模型

Sha*_*awn 6 django permissions admin models

如果我有一个类似于此的模型:

class Dealer(models.Model):

    name        = models.CharField(max_length=10)
    other_name  = models.CharField(max_length=10,  blank=True, null=True)
... etc.
Run Code Online (Sandbox Code Playgroud)

如果我想创建一个可以登录管理站点但只能编辑此模型的用户,我该怎么做呢?

我环顾四周,无法成功地让它发挥作用.我也研究了监护人这样的包裹,但没有成功.我在这里错过了什么?

谢谢!

Max*_*ant 7

您可以处理权限以允许他只看到此模型.可以为每个用户分配一个组,其中组具有有限的权限集,并且用户还可以具有一组可用的权限.您只需要将此用户设置为"Staff"用户(is_staff = 1),然后向他提供有关Dealer模型的所有权限.

管理员权限适用于一个用户

如果用户不是超级用户,他将只看到Dealer模型的链接.关于权限和授权的所有内容都在Django文档中提供.

Django管理站点使用如下权限:

  • 访问以查看"添加"表单并添加对象仅限于具有该类型对象的"添加"权限的用户.
  • 访问以查看更改列表,查看"更改"表单和更改对象仅限于具有该类型对象的"更改"权限的用户.
  • 删除对象的权限仅限于具有该类型对象的"删除"权限的用户.

权限不仅可以针对每种类型的对象进行设置,还可以针对特定对象实例进行设置.通过使用has_add_permission(),has_change_permission()has_delete_permission()通过所提供的方法ModelAdmin的类,有可能定制权限相同类型的不同对象实例.