我的一个视图集中有一个方法:
端点:/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?
答案 0 :(得分:0)
也许您可以尝试直接使用具有以下名称的序列化器:
serializer = GameSessionSerializer(sessions, many=True)