我正在努力让MongoEngine与Django REST框架一起工作。通过这个链接Getting mongoengine and django rest framework to play nice,我设法让一切正常,但必须在REST框架中禁用“PERMISSION CLASSES”,如下所示
'DEFAULT_PERMISSION_CLASSES': [
#'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
]
否则,我收到此错误“无法对没有.model
或.queryset
属性的视图应用DjangoModelPermissions。”。原因似乎是“Collection.objects”或“Collection.objects.all()”返回的值无法在REST框架的permission.py中传递“has_permission”函数。
有人可以帮忙看看吗?
答案 0 :(得分:4)
或者您可以添加:
from rest_framework import permissions
并在视图类中添加
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
答案 1 :(得分:3)
在views.py中导入以下模型:
from rest_framework.permissions import AllowAny
from rest_framework.decorators import api_view, permission_classes
在声明函数(视图函数)之前添加:
@api_view(['GET', 'POST'])
@permission_classes((AllowAny, ))
或
@api_view(['GET', 'PUT', 'DELETE'])
@permission_classes((AllowAny, ))