Allow overriding get_object to work correctly. Fixes #784

This commit is contained in:
Tom Christie 2013-04-13 20:07:36 +01:00
parent 3f91379e4e
commit 5a5a602f8a
2 changed files with 2 additions and 3 deletions

View File

@ -130,6 +130,7 @@ class SingleObjectAPIView(SingleObjectMixin, GenericAPIView):
""" """
Override default to add support for object-level permissions. Override default to add support for object-level permissions.
""" """
queryset = self.filter_queryset(self.get_queryset())
obj = super(SingleObjectAPIView, self).get_object(queryset) obj = super(SingleObjectAPIView, self).get_object(queryset)
self.check_object_permissions(self.request, obj) self.check_object_permissions(self.request, obj)
return obj return obj

View File

@ -97,9 +97,7 @@ class RetrieveModelMixin(object):
Should be mixed in with `SingleObjectAPIView`. Should be mixed in with `SingleObjectAPIView`.
""" """
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
queryset = self.get_queryset() self.object = self.get_object()
filtered_queryset = self.filter_queryset(queryset)
self.object = self.get_object(filtered_queryset)
serializer = self.get_serializer(self.object) serializer = self.get_serializer(self.object)
return Response(serializer.data) return Response(serializer.data)