Ich sehe dort Projekt djangorestframework-camel-case genannt ist, die JavaScript-ish camelcase mit underscore_cased Feldern in Django REST Serializer zu verwenden. Also, im Grunde kann ich senden:camelcase POST-Daten in Django REST-Framework
{
"camelCase": "foo"
}
Und erhalten sie mit Serializer folgende:
class MySerializer(serializers.Serializer):
session_id = serializers.CharField()
Hat etwas ähnliches für POST-Daten existieren? So kann ich camelCase=foo
über POST senden und sie zu einem underscore_case Feld in meinem Serializer erhalten?
Ich habe versucht, meinen eigenen Parser basiert auf FormParser Umsetzung:
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")
...
Und nachdem es zu DEFAULT_PARSER_CLASSES
in settings.py Zugabe, während initialized
tatsächlich gedruckt wird, ist parse
nicht. So scheint es, im Fall von POST-Daten, application/x-www-form-urlencoded
Parser werden nicht verwendet.
Da Serializer so verwendet:
Serializer(data=request.data)
Ich denke über Serializer Subklassen und Modifizieren data
, bevor es weiterverarbeitet wird, oder ändern sie, noch bevor ein Serializer zu schaffen. Aber, was ich fragen, ist ein bequemer Weg, für alle Serializer arbeiten, ohne sie zu Subklassen.