我是新來的DRF,但我試圖用一個權限類使用的方法在這個堆棧線程@detail_route:Using a permission class on a detail routePermission類不工作,Django的REST框架
我的代碼目前看起來是這樣的:
@detail_route(methods=['GET'], permission_classes=[IsStaffOrRestaurantUser])
def restaurant_dishes_ready_for_pickup(self, request, pk=None):
...stuff....
class IsStaffOrRestaurantUser(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
print(request)
print(view)
print(obj)
return False
打印語句從未得到執行......我可能失去了一些東西,但我已經通過文件看,並不能真正弄明白,是我的方法就在所有?謝謝!
編輯: 我在我們的代碼中已經知道,我們在Viewset中有這個片段,是否有可能在裝飾器中覆蓋這個片段?
def get_permissions(self):
# Limit to listing and getting for non Admin user
if self.request.method in permissions.SAFE_METHODS:
return (permissions.AllowAny(),)
return (IsAdminUser(),)