2
我有一個視圖集API的樣本視圖集POST
/api/samples/sample_id/check
。我已經爲它定義了對象級別的權限。has_object_permission不針對自定義定義的API調用
class SamplePermission(BasePermission):
def has_object_permission(self, request, view, obj):
return True
class SampleViewSet(viewsets.ModelViewSet):
permission_classes = (SamplePermission,)
@detail_route(methods=['post'])
def check(self, request, pk=None):
if pk:
print "check"
功能has_object_permission是沒有得到調用時我調用API POST
/api/samples/check
。可能是什麼原因?
編輯的問題,直接添加權限,按您的評論。該函數被調用GET GET api。它不適用於任何定製的API。 – linuxfreak
@linuxfreak回答更新 –
我直接在detail_route中添加了權限。我在Sample Permission中定義了has_permission和has_object_permission。 'has_permission'被調用,而'has_object_permission'不被調用。 – linuxfreak