Django Rest Framework не может переопределить метод viewset list()
У меня есть model
:
class Investment(models.Model):
status = models.CharField()
@property
def email_main(self):
return self.account.email
и a serializer
:
class InvestmentSerializer(serializers.ModelSerializer):
email_main = serializers.ReadOnlyField()
class Meta:
model = Investment
fields = '__all__'
и, наконец, view
:
class InvestmentView(LoggingMixin, viewsets.ModelViewSet):
queryset = Investment.objects.all()
serializer_class = InvestmentSerializer
permission_classes = [AllowAny]
filter_backends = [DjangoFilterBackend]
filterset_fields = ['email_main']
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
print('request.query_params ', request.query_params)
if request.query_params.email_main:
queryset = Investments.objects.get(account__email='something')
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
Я пытаюсь переопределить метод list
, чтобы проверить, имеет ли параметр email_main
, чтобы я мог фильтровать результаты с помощью свойства email. Но я даже не могу увидеть функцию print внутри метода, когда я вызываю API get investments:
http://localhost:8000/api/investments/
Что я могу упустить?