如何使用在模型类的Meta中定义的Django模型权限来设置REST_FRAMEWORK DEFAULT_PERMISSION_CLASSES

时间:2018-08-30 17:09:07

标签: python django django-models django-rest-framework

我有一些在Meta类中定义权限的模型,如下所示(不仅仅是默认视图,添加,编辑,删除):

class FabricInstance(models.Model):
class Meta:
        permissions = (
            ( 'sf_fabricinstance_read', 'View Fabric Instances' ),
            ( 'sf_fabricinstance_manage', 'Manage Fabric Instances' ),
            ( 'sf_fabricinstance_delete', 'Delete Fabric Instances' ),
        )

我希望其余框架获得这些权限并返回响应,并允许基于用户权限进行操作。

我已经尝试过:

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
            'rest_framework.permissions.IsAuthenticated',
            'rest_framework.permissions.DjangoModelPermissions',
            ),
}

但是Rest框架没有使用我在Meta类中定义的权限。

因此,我获得了对REST API的只读访问权限(请注意:直接在我访问REST URL时,我正在谈论。以编程方式工作没有问题)。

我想念什么吗? 我的理解是,应该通过在settings.py

的REST_FRAMEWORK部分中简单添加“ rest_framework.permissions.DjangoModelPermissions”来选择它们。

0 个答案:

没有答案