Можно ли в drf вызвать один класс сериализатора внутри другого? Без отношения внешних ключей

class AuthorSerializer(ModelSerializer):
    class Meta:
            model =  Author
            fields = "__all__"

class BookSerializer(ModelSerializer):
      class Meta:
            model =  Book
            fields = "__all__"

Я хочу получить данные AuthorSerializer в BookSerializer. Возможно ли это?

Вы можете использовать serailizerMethodField:

class BookSerializer(ModelSerializer):
      author = serializers.SerializerMethodField()

      def get_author(self, obj):
           """ code to perform query """
           author = Author.objects.all()
           return AuthorSerializer(author, many=True).data

      class Meta:
            model =  Book
            fields = "__all__"
Вернуться на верх