を「作成」私は、次のビューセットがあります見られるようにDjangoの残りのフレームワークビューセットの権限は、「リスト」なし
class ActivityViewSet(viewsets.ModelViewSet):
queryset = Activity.objects.all()
serializer_class = ActivitySerializer
def get_permissions(self):
if self.action in ['update','partial_update','destroy','list']:
self.permission_classes = [permissions.IsAdminUser,]
elif self.action in ['create']:
self.permission_classes = [permissions.IsAuthenticated,]
else :
self.permission_classes = [permissions.AllowAny,]
return super(self.__class__, self).get_permissions()
を、イムは、認証のために、「リスト」を許可せずに「作成」メソッドを許可しようとしていますユーザー(これは管理者ではありません)。 奇妙なことに、このビューセットは認証済みユーザーの作成もリストも作成しません。 Iv'eはちょうどオフルイに、次のコードをチェック:私は必要ないので
class RouteOrderingDetail(mixins.CreateModelMixin,
mixins.RetrieveModelMixin,
mixins.DestroyModelMixin,
mixins.UpdateModelMixin,
viewsets.GenericViewSet):
queryset = RouteOrdering.objects.all()
serializer_class = RouteOrderingSerializer
このは、リストの作成ではなく、そこにある、ビューに対して許可(ただし、私のためにその使用できませんでした。avilable listオプション
希望の問題がクリアされている任意の助けがにappriciatedされます
チェックhttp://www.django-rest-framework.org/api-guide/permissions /#custom-permissions –
コードではっきりとわかるように、私はカスタム権限を作成しました。問題はこれを超えています。 – idik
カスタム権限クラスを作成していません。ビューセットの 'get_permissions'メソッドを編集しました。カスタムアクセス権クラスでは、 'request.method'に応じてアクセス権を返すことができます –