title: How to modify the request before View Class is invoked?
body: <p>I already have a ModelViewSet.</p>
  <pre><code>class ConfigManager(ModelViewSet):
      queryset = Configuration.objects.all()
      serializer_class = ConfigSerializer
      http_method_names = [&quot;post&quot;, &quot;get&quot;, &quot;patch&quot;, &quot;delete&quot;]
  
      def perform_create(self, serializer):
          if Configuration.objects.count():
              raise BadRequest(
                  message=&quot;Only 1 Configuration is allowed. Try updating it.&quot;
              )
          obj = serializer.save()
          tenant_id = self.request.META.get(&quot;HTTP_X_TENANT_ID&quot;)
          cache_config(obj, tenant_id)
  
      def perform_update(self, serializer):
          obj = serializer.save()
          tenant_id = self.request.META.get(&quot;HTTP_X_TENANT_ID&quot;)
          cache_config(obj, tenant_id)
  
      def perform_destroy(self, instance):
          if Configuration.objects.count() &lt;= 1:
              raise BadRequest(message=&quot;One configuration object must exist.&quot;)
          instance.delete()
          obj = Configuration.objects.all().first()
          tenant_id = self.request.META.get(&quot;HTTP_X_TENANT_ID&quot;)
          cache_config(obj, tenant_id)
  </code></pre>
  <p>Now I am trying to create a wrapper for this ViewSet Class, Where I want to perform some modifications to the request before serving it. How can I do this?</p>
  <pre><code>class ConfigManagerWrapper(ConfigManager):
     # perform modification to request.
     # request.data._mutable = True
     # request.data['customer'] = tenant_id
  </code></pre>