Serialisierung Ich versuche, Daten in diesem Serializer serialisiert werden, aber ich bin immer die Ausgabe immer ist {}
Django Übriges Framework-verschachtelte Daten
Hier mein Serializer:
class RelationshipSerializer(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
related_user = UserSerializer(read_only=True)
class Meta:
model = models.Relationship
fields = (
'user',
'related_user',
)
hier meiner Meinung nach ist:
related_user_id = body["related_user"]
related_user = models.User.objects.get(id=related_user_id)
user = self.get_object()
user_serializer = serializers.UserSerializer(user).data
related_user_serializer = serializers.UserSerializer(related_user).data
# user_serializer and related_user_serializer return valid data.
data = {"user": user_serializer, "related_user": related_user_serializer}
serializer = serializers.RelationshipSerializer(data=data)
serializer.is_valid() # valid
return Response(serializer.data)
ich erhalte die ID related_user
von Post-Anfrage, dann das Abfrage-Set des tatsächlichen Objekts, und user
ist die ID in der URL übergeben: user/{1}/
. Ich serialisiere dann jeden Benutzer und erstelle ein Wörterbuch, das an RelationshipSerializer
übergeben wird. Der Serializer gibt eine gültige Antwort zurück, aber die Antwort ist {}
, was habe ich falsch gemacht?
ich das Wörterbuch serialisieren wollen, weil das Objekt tut noch nicht. Also kann ich 'objects.get' nicht gehen. Nachdem ich es serialisiert habe, werde ich es speichern –
siehe Antwort Update – Ykh
Versuchen Sie, Benutzer = self.request.user –