I have a model which is implemented using ModelViewSet. In that, GET and POST is working fine. But as I define PUT, I get following response in rest client:
{
"status": false,
"errors": [],
"exception": "Method \"PUT\" not allowed."
}
view.py:
class OrganizationViewSet(viewsets.ModelViewSet):
queryset = Organization.object.all()
serializer_class = OrganizationSerializer
def get_queryset(self):
if not self.isUserAuthorized(self.request.user):
return Response(str("forbidden"), status=status.HTTP_403_FORBIDDEN)
return self.queryset
def create(self, request):
if not self.isUserAuthorized(self,request.user):
return Response(str("forbidden"), status=status.HTTP_403_FORBIDDEN)
org = self.request.data['name']
result = Organization.object.create_organization(org)
if not result:
return Response(str("error in creating organization"), status=status.HTTP_400_BAD_REQUEST)
else:
return Response(OrganizationSerializer(result).data, status=status.HTTP_201_CREATED)
def update(self):
pass
urls.py
router = routers.DefaultRouter()
router.register(r'api/v1/organization', OrganizationViewSet )
urlpatterns = [
# url(r'^', include(router.urls)),
]
Can some one suggest how should I implement the update method here so that following request can work :
PUT localhost:8000/api/v1/organization/:id
Param in JSON(application/json) {
"name = "new_name"
}