何时使用Django权限?

时间:2019-05-29 03:20:50

标签: django django-guardian

AFAIK,权限不过滤查询集。

Django queryset permissions

因此,如果我必须过滤查询集并返回相关记录,那么权限是什么?有什么权限可以过滤吗?

1 个答案:

答案 0 :(得分:0)

让我举个例子,以简单的方式解释这些差异。假设您想建立一个供老师和学生使用的学生管理系统。您要实现一个列出学生的网页。但是您要在此过程中适应两个限制:

  1. 如果登录用户是学生,请不要显示任何学生,因为这可能会侵犯隐私。这可以通过Django的内置权限来完成。

  2. 如果登录的用户是老师,则不要列出所有学生,而只列出已注册该老师课程的学生。这是对象级权限,而Django没有内置库。您可以自己实现此逻辑,也可以使用django-guardian之类的库。