Django,设置用户的角色'管理员中的模型

时间:2017-02-28 06:24:37

标签: python django

我真的不想问这个问题,但是不同的教程和文档中的大量信息对我来说都是压倒性的。

我有三种类型的用户:AdminGuideUser

  1. Admin可以在管理页面中执行任何操作。
  2. Admin可以将简单的Users更改为Guides
  3. Guide只能创建GuideTour模型对象并仅管理自己的游览。
  4. User无法登录管理页面。
  5. 如何在我的模型定义中设置这些用户,以便在我的管理页面中获得这种角色?

    单表继承模式吗?

1 个答案:

答案 0 :(得分:1)

如果您使用的是默认的Django的身份验证系统(django.contrib.auth),您可以在管理界面中创建用户组并设置大部分权限(主页>身份验证和授权>群组):

enter image description here

"只管理他自己的旅行"事情稍微复杂一点 - 您可能希望ForeignKey模型中有Tour字段,并将用户与对象创建链接(并检查request.user是否为&#34};对每个编辑尝试的用户进行操作)...

或者使用所需的逻辑定义方法。请参阅:Object Ownership in Django