9

DjangoModelPermissions を使用しようとしていますが、正しく動作していないようです。

これはコードです:

class TestViewSet(viewsets.ModelViewSet):
    model = Test
    serializer_class = serializers.TestSerializer
    permission_classes = (permissions.DjangoModelPermissions,)

    def create(self, request):
        response_data = {}
        response_data['type'] = 'error'
        data=json.loads(request.raw_post_data)

        test = Test.objects.create(name=data['name'],\
                                            description=data['description'],\
                                            start_date=data['start_date'],\
                                            end_date=data['end_date'])          

        #save changes
        test.save()
        return Response({'status': 'ok', "result": test.id})

この場合、違いはないと思いますが、django_mongodb_engine を使用しています。

権限のないユーザーがいて、テスト インスタンスを作成できます。一方、GET もブロックして、適切な権限を持つユーザーだけがそのアクションを実行できるようにするにはどうすればよいでしょうか?

ありがとう

4

3 に答える 3

-2

DjangoModelPermissions が正しく機能するには、DRF を備えた django-guardian が必要です。元のドキュメントhttp://www.django-rest-framework.org/api-guide/permissionsの DjangoModelPermissions パラグラフにも記載されています

それでも正常に動作しない場合は、お知らせください

于 2014-09-03T12:00:49.787 に答える