我正在一个Django项目中工作,该项目旨在管理仓库,物品和presonell。 我有以下模型:WarehouseMode,ItemModel和PersonellModel。
管理员必须能够创建用户并为其分配以下角色之一:
“仓库管理员”应该只是一个仓库的“所有者”。
我应该使用哪种权限系统?每行权限系统?
由于
答案 0 :(得分:3)
行级权限肯定会让你的生活更容易实现,但是从经验来看,你应该写出与其他任何东西分开的流程并进行大量测试。我最近使用的具有行级权限的结构如下所示。
在尝试了一些我的偏好是django-guardian之后,我发现它更好(从易于实现我设计的结构)到使用基于类的视图和mixins。
https://github.com/lukaszb/django-guardian.git
class Meta:
permissions = (
('can_view', 'View project'),
('manage_view', 'Can assign View project'),
('can_edit', 'Edit project'),
('manage_edit', 'Can assign Edit project'),
('can_delete', 'Delete project'),
('manage_delete', 'Can assign Delete project'),
('creator', 'Full access to model features.'),
)