Использование различных сериализаторов Django

надеюсь, кто-нибудь сможет мне помочь.

Я пытаюсь вызвать различные сериализаторы в зависимости от некоторых факторов, и один из факторов - если поле под названием "code" (которое находится внутри таблицы MyCards) не является null, то вызывается rewardsSerializer.

Дело в том, что мне не удается получить значение кода, чтобы увидеть, является ли оно None или нет.

Здесь внизу вы можете увидеть, как я безуспешно пытался получить значение "code"

''' class MyCardsViewSet(ModelViewSet): serializer_class = MyCardsSerializer queryset = MyCards.objects.all()

def get_serializer_class(self):
    if self.request.GET.get('code') != None:
        return RewardSerializer
    if self.action == 'update':
        return UpdateMyCardsSerializer
    else:
        return MyCardsSerializer

'''

    class MyCardsViewSet(ModelViewSet): 
        queryset = MyCards.objects.all()

если вы передаете code в качестве параметра, то только вы можете получить значение, используя self.request.GET.get('code')

если вы передаете code внутри тела, вы должны получить к нему доступ, используя self.request.data.get('code')

тогда вы можете переписать код как

def get_serializer_class(self):
    if self.request.data.get('code') != None:
        return RewardSerializer
    if self.action == 'update':
        return UpdateMyCardsSerializer
    return MyCardsSerializer
Вернуться на верх