私はDRFに新たなんだが動作していないが、私は、このスタックスレッドでメソッドを使用して@detail_routeにパーミッションクラスを使用しようとしている:Using a permission class on a detail routePermissionクラスは、Djangoの残りのフレームワーク
私のコード現在、次のようになります。
@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
print文が実行されない飽きない...私はおそらく何かが欠けているが、私は文書を通じて見てきたし、実際にそれを把握することはできません、私のアプローチは、右のすべてであります?ありがとう!
EDIT: 私たちのコードでは、このスニペットが既にビューセットにあることを認識しています。これをデコレータでオーバーライドすることは可能ですか?
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(),)