title: Nesting APIView breaks request if request.FILES property is called
body: <p>We have an <code>APIView</code> (<code>FooView</code>) that can be accessed directly through a URL.</p>
  
  <p>We have another <code>APIView</code> <code>APIKeyImportView</code> that will reuse <code>FooView</code> depending of file name (it is done this way for compatibility with an API).</p>
  
  <p>However when <code>request.FILES</code> is accessed from <code>APIKeyImportView</code> to look at the file names, <code>request.FILES</code> becomes empty in <code>FooView</code>.</p>
  
  <p>It appears that accessing <code>request.FILES</code> will makes it un-useable by the nested view.</p>
  
  <p>Is there a way around this?</p>
  
  <pre><code>  class FooView(APIView):
        permission_classes = (permissions.IsAuthenticated,)
  
        def post(self, request, vendor):
            file = request.FILES.get('file')
            if not file:
                return Response(status=status.HTTP_400_BAD_REQUEST)
            return Response()
  
  
    class APIKeyImportView(APIView):
        permission_classes = (permissions.IsAuthenticated,)
        authentication_classes = (ApiKeyAuthentication,)
  
        def post(self, request):
            file = request.FILES.get('file')
            if not file:
                return Response(status=status.HTTP_400_BAD_REQUEST)
            name = file.name
  
            if name.startswith('FOO'):
                return FooView.as_view()(request=request)
            else:
                return Response(status=status.HTTP_400_BAD_REQUEST)
  </code></pre>
  
  <p>Removing the validation on <code>request.Files</code> in <code>APIKeyImportView</code> will make it accessible in <code>FooView</code> but it kinds of miss the point. </p>
  
  <p>Inspecting <code>request</code> in PyCharm will also make it un-useable in <code>FooView</code> since the debugger will call the properties.</p>
  
  <pre><code>  class APIKeyImportView(APIView):
        permission_classes = (permissions.IsAuthenticated,)
        authentication_classes = (ApiKeyAuthentication,)
  
        def post(self, request):
            return FooView.as_view()(request=request)
  </code></pre>
  
  <p>These solutions are not working:</p>
  
  <p><a href="https://stackoverflow.com/questions/18930234/django-modifying-the-request-object">django modifying the request object</a></p>
  
  <p>Tested on the following versions:</p>
  
  <ul>
  <li>Django 1.9.5</li>
  <li>django-rest-framework 3.3.3</li>
  <li>Python 3.4.2</li>
  </ul>