【发布时间】:2014-09-02 16:09:09
【问题描述】:
我正在尝试使用 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 以便只有具有正确权限的用户才能执行该操作?
谢谢
【问题讨论】:
-
您是否安装了 django-guardian 或其他后端之类的东西??
-
不,django-rest-framework 应该负责 API 的安全性
-
4 年后我遇到了同样的问题 :) 有人找到解决方案吗?
标签: django django-rest-framework django-mongodb-engine