Django Rest Framework获取不同模型的序列化器?

时间:2018-08-23 01:29:14

标签: python django django-rest-framework

我的一个视图集中有一个方法:

端点:/api/game/{id}/sessions

from .serializers import GameSerializer
from .models import Game
from gamesessions.models import GameSession
from gamesessions.serializers import GameSessionSerializer
from gamesessions.viewsets import GameSessionViewSet

@action(methods=['get'], detail=True)
def sessions(self, request, **id):
    game = self.get_object()
    sessions = []
    for session in GameSession.objects.filter(game=game.id):
        sessions.append(session)

    serializer = GameSessionViewSet.get_serializer(sessions, many=True)
    return Response(serializer.data)

但是我遇到了一个错误,因为我无法弄清楚get_serializer方法的来源和/或如何在外部实现它。

我需要获取会话模型的序列化器。我可以很好地生成会话列表,但是它说该对象不是JSON可序列化的,这是DRF应该处理的。

所以我只需要知道我要导入什么内容来从另一个类中获取Seralizer?

1 个答案:

答案 0 :(得分:0)

也许您可以尝试直接使用具有以下名称的序列化器:

serializer = GameSessionSerializer(sessions, many=True)