Ich versuche, die CurrentUserDefault
Klasse für einen Serializer zu verwenden.Django REST Framework - CurrentUserDefault Verwendung
user = serializers.HiddenField(default=serializers.CurrentUserDefault())
Die docs sagt:
Um dies zu nutzen, der ‚Antrag‘ muss als Teil der Kontext-Wörterbuch zur Verfügung gestellt wurde, wenn die Serializer instanziieren.
Ich bin mir nicht sicher, wie man den Serializer erstellt. Nach der Ansicht, ich die Serializer alle mit erstellen:
serializer = NewModelSerializer(data=request.data)
Also habe ich versucht:
context = dict(request.data)
context['request'] = request
serializer = NewModelSerializer(data=context)
und
context['request'] = {'user': request.user}
Und in beiden Fällen ist der Fehler gleich:
Auch ich habe versucht, die Unicode Tasten des Wörterbuchs (u'request'
) mit dem gleichen Glück.
Gibt es eine bessere Möglichkeit, den angemeldeten Benutzer an einen Serializer zu übergeben?
Ich verwende Django REST Framework 3.0 und Python 2.7.6
Sie haben mein Weihnachten gerettet –
Dies ist sehr hilfreich. Und leider ist der Fehler, den es wirft, wenn Sie den zusätzlichen Kontext nicht liefern, überhaupt nicht sehr hilfreich. Es löst eine KeyError-Ausnahme mit der Nachricht u'request aus. – Emeka