如何在django中写自己的权限

时间:2018-12-27 09:33:29

标签: python django django-rest-framework

我想在Django中写我自己的权限,我的意思是我想确切定义用户可以做什么或不能做什么,我已经阅读了enter link description here 但似乎change_task_status是Django中预先定义的。例如,我想定义用户仅可以访问视图的get方法以及仅从数据库表的第1至8行进行访问的权限,诸如此类。我该怎么办?

编辑:

首先,我使用Django的auth_permission表中的默认权限来执行此操作,对于每个模型,它都会在此表中创建添加/查看/更改/删除的权限,并且我知道可以将其用于我的目的。但是我有两个问题,首先我不想使用默认的权限类od Django.contrib,auth模型,因此我想创建自己的权限表(而不是auth_permissions我有mapp_permissions),这对我来说是个问题新表未填充默认权限,因此我需要自己定义权限,我的意思是我必须说一下add_modelname的含义,而且在执行此操作后,我还需要定义一些新权限,例如对于一个模型:user_x拥有view_modelname权限,用户也具有此权限,但是从存储在数据库user_y中的该模型的数据来看,并非只能看到db表1到8的记录

编辑2:

正如您在权限类注释中看到的那样,它说:“     目前无法说出“玛丽可能只会更改具有     特定状态或发布日期。“” 我怎样才能做到这一点? 另外,在Django文件中应该有一个为机器定义的代码,例如表中的add_user表示什么

1 个答案:

答案 0 :(得分:2)

根据编辑2 ,我发现您有一些与权限检查相关的业务逻辑,看看django-rules,我认为这就是您要寻找的。 >