【问题标题】:Django Rest Framework get serializer of different model?Django Rest Framework 获取不同模型的序列化器?
【发布时间】:2018-08-23 01:29:13
【问题描述】:

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

端点:/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 应该处理的。

所以我只需要知道我要导入什么来从其他类获取序列化程序?

【问题讨论】:

  • 可以添加完整视图类吗?

标签: python django django-rest-framework


【解决方案1】:

也许你可以试试,直接用这个名字的序列化器:

serializer = GameSessionSerializer(sessions, many=True)

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2016-11-14
    • 1970-01-01
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2019-06-02
    相关资源
    最近更新 更多