Я ищу гнездо объекта, который я сериализую. Вот что я имею в виду:Django: гнездо объекта, который я сериализую в сериализаторе?
Мой текущий UserSerializer:
class UserSerializer(serializers.ModelSerializer):
posts = serializers.SerializerMethodField()
class Meta:
model = User
fields = ('__all__')
def get_posts(self, user):
posts = Posts.objects.get_posts_for_user(user=user)
return PostsSerializer(posts, many=True, context=self.context)
Вот мой PostsSerializer:
class PostsSerializer(serializers.ModelSerializer):
class Meta:
model = Posts
fields = ('__all__')
Вот что, как это сериализовано:
{ "name": "Bobby Busche",
"email": "[email protected]",
"posts": [ {"from_user": "me", "message": "Hello World"},
{"from_user": "me", "message": "Bye bye"} ],
"username": "ilovemymomma"
}
Но я хочу, чтобы пользователь для группировки внутри ключа «пользователь» следующим образом:
{ "user": { "name": "Bobby Busche",
"email": "[email protected]",
"username": "ilovemymomma" }
"posts": [ {"from_user": "me", "message": "Hello World"},
{"from_user": "me", "message": "Bye bye"} ]
}
Мне нужно немного ориентироваться в том, что лучше всего подходит для этого.
Пользовательский сериализатор - это путь! Быстрая и чистая. –