Il 11/11/2016 12:20, Riccardo Magliocchetti ha scritto:
Hello,on 3.4.7 with this code: urlpatterns = [ url(r'^$', FooViewSet.as_view({'post': 'create'}), name='foo-post'), url(r'^/(?P<foo_pk>\d+)$', FooViewSet.as_view({'get': 'get'}), name='foo-get'), ] class ClasseViewSet(viewsets.ViewSet): def create(self, request): pass def get(self, request, foo_pk): pass When i do a GET request to / the 'get' method is called: File "/venv/local/lib/python2.7/site-packages/rest_framework/viewsets.py", line 87, in view return self.dispatch(request, *args, **kwargs) File "/venv/local/lib/python2.7/site-packages/rest_framework/views.py", line 474, in dispatch response = self.handle_exception(exc) File "/venv/local/lib/python2.7/site-packages/rest_framework/views.py", line 434, in handle_exception self.raise_uncaught_exception(exc) File "/venv/local/lib/python2.7/site-packages/rest_framework/views.py", line 471, in dispatch response = handler(request, *args, **kwargs) TypeError: get() takes exactly 3 arguments (2 given) Which is not what i want :) I'd like to get a 405 because i want only POST to be handled on that url pattern. Is there a way I can use a ViewSet and have control over the methods a pattern accepts?
So if i rename the get method to foo_get it behaves like i'd like it to do, still isn't this behaviour quite peculiar?
thanks -- Riccardo Magliocchetti @rmistaken http://menodizero.it -- You received this message because you are subscribed to the Google Groups "Django REST framework" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
