允许用户在管理员中访问特定模型
Posted
技术标签:
【中文标题】允许用户在管理员中访问特定模型【英文标题】:Allowing a user to access specific models in admin 【发布时间】:2014-07-16 18:54:03 【问题描述】:如果我有类似这样的模型:
class Dealer(models.Model):
name = models.CharField(max_length=10)
other_name = models.CharField(max_length=10, blank=True, null=True)
... etc.
如果我想创建一个可以登录管理站点并且只能编辑此模型的用户,我该怎么做?
我环顾四周,但未能成功使其工作。我也研究过诸如监护人之类的软件包,但没有成功。我在这里错过了什么?
谢谢!
【问题讨论】:
【参考方案1】:你可以处理权限,让他只能看到这个模型。可以为每个用户分配一个组,其中一个组具有一组有限的权限,而一个用户也可以拥有一组可用的权限。您只需将此用户设置为“员工”用户 (is_staff = 1
),然后为他设置有关 Dealer
模型的所有权限。
如果用户不是超级用户,他将只能看到指向 Dealer
模型的链接。关于permissions and authorization are presented in the Django documentation的一切。
Django 管理站点使用权限如下:
查看“添加”表单和添加对象的权限仅限于对该类型对象具有“添加”权限的用户。 查看更改列表、查看“更改”表单和更改对象的权限仅限于对该类型对象具有“更改”权限的用户。 删除对象的权限仅限于对该类型对象具有“删除”权限的用户。不仅可以为每个对象类型设置权限,还可以为每个特定对象实例设置权限。通过使用
ModelAdmin
类提供的has_add_permission()
、has_change_permission()
和has_delete_permission()
方法,可以为同类型的不同对象实例自定义权限。
【讨论】:
以上是关于允许用户在管理员中访问特定模型的主要内容,如果未能解决你的问题,请参考以下文章