首页 > 解决方案 > 如何在 django 中编写自己的权限

问题描述

我想在 Django 中编写自己的权限,我的意思是我想准确定义用户可以或不能做什么,我已经阅读了这个输入链接描述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,

编辑2:

正如您在权限类评论中看到的那样,它说:“目前不可能说“玛丽只能更改具有特定状态或发布日期的新闻故事。””我怎样才能使它成为可能?此外,Django 文件中应该有一个代码为机器定义,例如表中的 add_user 意味着什么

标签: pythondjangodjango-rest-framework

解决方案


根据Edit 2,我看到你有一些与权限检查相关的业务逻辑,看看django-rules,我认为这就是你要找的。


推荐阅读