API 级别的 Django 组和权限(使用 django-rest-framework)

Django groups and permissions in API level (with django-rest-framework)

考虑以下场景;
我有一堆 UsersAPI classes。我需要通过检查请求的用户的组权限来限制对每个 API 的访问,并允许用户执行组允许的事情。

假设我有一个用户user_xx,他属于组group_xx并且有权限activity | activity | Can add activity。当 user_xx 试图通过 HTTP-DELETE 方法访问 MyActivityAPI 时,视图 class 应该限制访问。
我可以实现此功能吗?如果可能,怎么做?

我试过的方法
创建了一些组并为它们分配了权限,并将用户添加到相应的组中.我试图访问受限 api 之一,但它允许我访问(预期行为:限制 api 中的用户)。

更新:
这是我的简单 views.py

class MyApi(ModelViewSet):
    permission_classes = (IsAuthenticated,)
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer

如文档中所述,为了将 Django 模型权限应用于视图集,您必须使用 DjangoModelPermissions:

class MyApi(ModelViewSet):
    permission_classes = (DjangoModelPermissions,)
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer

在您之前的代码中,所有操作都允许对任何经过身份验证的用户执行,因为您使用的是 permission_classes = (IsAuthenticated,)