我有一个模型class Project
,对于每个模型实例,应该有一个可以编辑该实例的用户“组”。我想我可以添加另一个名为 ProjectEditor 的模型类来添加这些编辑器。有没有更好的方法来实现这一点?检查权限呢?我也需要编写自己的权限方法,对吗?
谢谢埃里克
我有一个模型class Project
,对于每个模型实例,应该有一个可以编辑该实例的用户“组”。我想我可以添加另一个名为 ProjectEditor 的模型类来添加这些编辑器。有没有更好的方法来实现这一点?检查权限呢?我也需要编写自己的权限方法,对吗?
谢谢埃里克
Django Guardian似乎是当今模型实例级别权限的最佳解决方案。
模型(表)级别的权限可以使用Django 提供的组auth
工具来实现。组允许您在模型级别创建自定义权限。实例(行)级别会更棘手。您很可能必须编写自定义机制来完成此操作。
这是一个Django Snippet,可能会给你一些想法。
华盛顿时报团队发布了一个行/对象级别权限的开源版本,可能有用: