      Retrieve a model instance.
      Should be mixed in with `SingleObjectAPIView`.
      """
      def retrieve(self, request, *args, **kwargs):
          self.object = self.get_object()
          serializer = self.get_serializer(self.object)
          return Response(serializer.data)
  
  
  class UpdateModelMixin(object):
 
</s> remove     filter_backend = api_settings.FILTER_BACKEND

    def filter_queryset(self, queryset):
        """
        Given a queryset, filter it with whichever filter backend is in use.
        """
        if not self.filter_backend:
            return queryset
        backend = self.filter_backend()
        return backend.filter_queryset(self.request, queryset, self)
 </s> add 
        queryset = self.get_queryset()
        filtered_queryset = self.filter_queryset(queryset)
        self.object = self.get_object(filtered_queryset)
      Retrieve a model instance.
      Should be mixed in with `SingleObjectAPIView`.
      """
      def retrieve(self, request, *args, **kwargs):
        queryset = self.get_queryset()
        filtered_queryset = self.filter_queryset(queryset)
        self.object = self.get_object(filtered_queryset)
          serializer = self.get_serializer(self.object)
          return Response(serializer.data)
  
  
  class UpdateModelMixin(object):
keep keep keep keep replace keep keep keep keep keep
 GenericAPIView now applies filter_backend for list and retrieve api views

Before this commit only the MultipleObjectAPIView would apply a
filter_backend, leaving the SingleObjectAPIView to return objects you
might otherwise expect to have been filtered out.

It's worth mentioning that when a SingleObjectAPIView makes a request
for an object that should be excluded, a 404 is the expected result. 
rest_framework/mixins.py