Python 如何在django中编写自己的权限

Python 如何在django中编写自己的权限,python,django,django-rest-framework,Python,Django,Django Rest Framework,我想用Django写我自己的权限,我的意思是我想确切地定义用户可以做什么或不能做什么,我已经读过了 但在Django中,改变任务状态似乎是预先定义好的。例如,我想精确地定义用户可以访问视图的just get方法以及数据库表的第1行到第8行,诸如此类。我该怎么做 编辑: 首先,我使用Django中auth_permission表中的默认权限执行此操作,它为每个模型在该表中创建add/view/change/delete权限,我知道我可以将其用于我的目的。但是我有两个问题,首先,我不想使用默认的权限

我想用Django写我自己的权限,我的意思是我想确切地定义用户可以做什么或不能做什么,我已经读过了 但在Django中,改变任务状态似乎是预先定义好的。例如,我想精确地定义用户可以访问视图的just get方法以及数据库表的第1行到第8行,诸如此类。我该怎么做

编辑:

首先,我使用Django中auth_permission表中的默认权限执行此操作,它为每个模型在该表中创建add/view/change/delete权限,我知道我可以将其用于我的目的。但是我有两个问题,首先,我不想使用默认的权限类od Django.contrib,auth model,因此我想创建自己的权限表(而不是auth_权限,我有mapp_权限)这对我来说是一个问题,现在这个新表没有填充默认权限,所以我需要自己定义权限我的意思是我必须说add_modelname是什么意思,并且在我这样做之后,我需要定义一些新权限,例如一个模型:user_x have permission view_modelname,用户也有此权限,但从数据库中存储的该模型的数据中,用户_y只能看到数据库表1到8的记录,而不是所有记录

编辑2:

正如您在permissions类评论中看到的,它说:“它是 目前还不能说“玛丽可能只会改变那些有影响力的新闻报道 特定状态或发布日期。“” 我怎样才能做到这一点?
此外,Django文件中应该有一个为机器定义的代码,例如表中的add_user意味着什么根据编辑2,我看到您有一些与权限检查相关的业务逻辑,请看,我想这就是你要找的。

你是什么意思
,从数据库表的第1行到第8行
?上面的示例显示了一个用于编写权限的模板。您在模型上定义权限,然后检查该用户是否具有使用该功能所需的权限?您可以通过仪表板或迁移将权限应用于用户(我假设是第1-8行)。请检查我的edit@Annabelle不确定为什么不想使用Django auth permissions表,但如果确实想使用自定义权限表,您不能再使用在模型元类中定义的常规权限,因为这些权限在迁移期间添加到auth permissions表中。您必须推出一个自定义解决方案。至于第1-8行的第二个要求,这也是一个奇怪的要求,不属于当前权限框架提供的权限类型,但由于您将推出新的逻辑,你也可以在你的电脑上实现own@Annabelle我的意思是,您可以编写一个DRF permissions类来检查用户是否有权更改特定状态的对象。检查可以是用户是管理员还是普通用户。但是,如果需要细粒度,可以为权限创建单独的类,并根据需要定义尽可能多的类。本质上,我的意思是,您可以让它们与原始权限框架并排工作,而不是替换它们it@Annabelle您应该将所有模型导入包的
\uuuu init\uuuu.py
文件中。检查这个谢谢,现在我有一个小问题,你能先帮我吗?“我的另一个问题是,为了我的项目,我使用了一个模型文件夹而不是model.py文件,现在权限类无法自动生成模型的添加/更改/删除/更新,我如何定义在哪里查找我的模型?”您是否在models forlder的init.py中导入了模型?