Django中的层级权限

4 投票
2 回答
1738 浏览
提问于 2025-05-01 08:22

请给我一些建议。我正在开发一个Django应用程序,里面会有三种用户类型:管理员、经销商和普通用户。这些用户之间有等级关系。管理员可以看到所有的内容;经销商可以看到自己用户所做的所有事情;而普通用户只能看到自己做的事情。

我该如何设置这些有等级关系的权限呢?

暂无标签

2 个回答

0

我正在做类似的事情。在Django中,每行的权限管理有点麻烦。有两个项目可以满足你所有的需求:django-permissiondjango-guardian。不过我需要更细致的权限控制,所以我自己做了一个。

1

你可以用两种不同的方法来解决这个问题:

  • 第一种方法(在你的情况下似乎更好):使用Django的权限系统

在这里,你需要创建组、权限和用户。一个好的做法是把权限分配给组,然后再把用户分配到这些组里。这样的话,将来如果需要更改什么,就会变得很简单。

  • 第二种方法:创建三个不同的用户角色,这些角色都是从用户的基础类继承而来的。不过,这样做会更复杂一些。

撰写回答