Django Rest Framework сериализует вложенные данные
Я пытаюсь сериализовать данные в этом сериализаторе, но я всегда получаю вывод {}
Вот мой сериализатор:
class RelationshipSerializer(serializers.ModelSerializer):
user = UserSerializer(read_only=True)
related_user = UserSerializer(read_only=True)
class Meta:
model = models.Relationship
fields = (
'user',
'related_user',
)
Вот мой взгляд:
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)
Я получаю удостоверение личности related_user
из почтового запроса, затем получения набора запросов фактического объекта, и user
Идентификатор передается в URL: user/{1}/
, Затем я сериализую каждого пользователя и создаю словарь для передачи RelationshipSerializer
, Сериализатор возвращает действительный, но ответ {}
, что я сделал не так?
1 ответ
class RelationshipSerializer(serializers.ModelSerializer):
class Meta:
model = models.Relationship
fields = (
'user',
'related_user',
)
views.py
user = self.get_object()
data = {"user": user.id, "related_user": request.data["related_user"]}
serializer = serializers.RelationshipSerializer(data=data)
if serializer.is_vaild():
serializer.save()
return Response(serializer.data)