我真的不想问这个问题,但是不同的教程和文档中的大量信息对我来说都是压倒性的。
我有三种类型的用户:Admin
,Guide
,User
:
Admin
可以在管理页面中执行任何操作。Admin
可以将简单的Users
更改为Guides
Guide
只能创建GuideTour
模型对象并仅管理自己的游览。User
无法登录管理页面。如何在我的模型定义中设置这些用户,以便在我的管理页面中获得这种角色?
是单表继承模式吗?
答案 0 :(得分:1)
如果您使用的是默认的Django的身份验证系统(django.contrib.auth
),您可以在管理界面中创建用户组并设置大部分权限(主页>身份验证和授权>群组):
"只管理他自己的旅行"事情稍微复杂一点 - 您可能希望ForeignKey
模型中有Tour
字段,并将用户与对象创建链接(并检查request.user
是否为&#34};对每个编辑尝试的用户进行操作)...
或者使用所需的逻辑定义方法。请参阅:Object Ownership in Django