簡體   English   中英

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

[英]Django Rest Framework get serializer of different model?

我的一個視圖集中有一個方法:

端點: /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?

也許您可以嘗試直接使用具有以下名稱的序列化器:

serializer = GameSessionSerializer(sessions, many=True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM