Использование различных сериализаторов 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