title: camelCase POST data in Django REST Framework
body: <p>I see there is project called <a href="https://github.com/vbabiy/djangorestframework-camel-case" rel="nofollow">djangorestframework-camel-case</a>, which allows to use JavaScript-ish camelCase with underscore_cased fields in Django REST serializers. So, basically, I can send:</p>
  
  <pre><code>{
      "camelCase": "foo"
  }
  </code></pre>
  
  <p>And receive it with following Serializer:</p>
  
  <pre><code>class MySerializer(serializers.Serializer):
      session_id = serializers.CharField()
  </code></pre>
  
  <p>Does something similar for POST data exist? So I can send <code>camelCase=foo</code> via POST and receive it to an underscore_case field in my serializer?</p>
  
  <p>I tried implementing my own parser based on FormParser:</p>
  
  <pre><code>class CamelCaseFormParser(FormParser):
      media_type = 'application/x-www-form-urlencoded'
  
      def __init__(self):
          print("initialized")
  
      def parse(self, stream, media_type=None, parser_context=None):
          print("parse")
          ...
  </code></pre>
  
  <p>And, after adding it to <code>DEFAULT_PARSER_CLASSES</code> in settings.py, while <code>initialized</code> is actually printed, <code>parse</code> is not. So it seems, in case of POST data, <code>application/x-www-form-urlencoded</code> parser is not used at all.</p>
  
  <p>Since Serializers are used like that:</p>
  
  <pre><code>Serializer(data=request.data)
  </code></pre>
  
  <p>I'm thinking about subclassing Serializer and modifying <code>data</code> before it gets processed further, or even modifying it before creating a Serializer. But what I'm asking for is a more convenient way, working for all Serializers, without subclassing them.</p>