python - 如何在 Django 中编写自己的权限

标签 python django django-rest-framework

我想在 Django 中编写自己的权限,我的意思是我想准确定义用户可以做什么或不能做什么,我已经阅读了这个 enter link description here 但似乎 change_task_status 是在 Django 中预定义的。例如,我想准确定义用户可以访问 View 的 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 意味着什么

最佳答案

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

关于python - 如何在 Django 中编写自己的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53942754/

相关文章:

python - 自定义 DRF 列表函数不返回某些字典键/值对

python - 为什么这个看似递归的代码在 skimage 的源代码中可以工作?

python - 如何让 Flask 记录到 stdout 而不是 stderr?

Django:admin.StackedInline 没有外键

python - 如何在不使用 Pillow 的情况下在 Python 中调整图像大小

python - Django - 无法使用自定义用户模型将用户添加到用户组

django - DRf,处理未处理的异常

python - python有session变量的概念吗?

python - 如何检查文件中的行数是否等于每行中的字符数?

django - 将自定义路由添加到 viewsets.ModelViewSet