我有一个自定义的用户模型与组作为一个领域。
from django.contrib.auth.models import Group
class Users(AbstractBaseUser):
group=models.ManyToManyField(Group, blank=True)
我在Django管理面板中为组分配模型权限。现在我想确保在用户可以访问API之前,应该检查用户的组权限,如下所示:
@authentication_classes([TokenAuthentication])
class SiteList(generics.ListCreateAPIView):
permission_classes = [IsAuthenticated, GroupPermission] //GroupPermission as a check
queryset = Site.objects.all()
serializer_class = SiteSerializer
1条答案
按热度按时间e5nqia271#
尝试为此视图创建自定义权限。
检查用户是否具有“客户”组的示例:
然后将其添加到permission_classes变量。
如果你想检查组应该拥有的确切权限,那么你可以进行以下检查:
更多信息:https://www.django-rest-framework.org/api-guide/permissions/