class CompanyViewSet(viewsets.ModelViewSet):
permission_classes = [
permissions.IsAuthenticated, # <== A
TokenHasReadWriteScope, # <== B
]
serializer_class = CompanySerializer
def get_queryset(self):
if self.request.auth:
user = self.request.auth.user
else:
user = self.request.user
return Company.objects.filter(owner=user)
我对这两种技术都不熟悉,但据我所知,(A)和(B)都是必需的,(A)处理可浏览的api,(B)处理客户端凭证流(Postman)。
如果我只使用(B),那么Postman返回期望值,但是browsable api返回
"detail": "You do not have permission to perform this action."
如果同时使用(A)和(B),我得到的结果与仅使用(B)时相同。
如果我只使用(A),那么这两种方法都有效。。。
有人能解释一下发生了什么,正确的方法是什么吗?