AttributeError: объект 'int' не имеет атрибута 'pk' - Django

Я пытаюсь вернуть очень простой сериализованный набор запросов и получаю эту ошибку:

AttributeError: объект 'int' не имеет атрибута 'pk'

Модели:

class Portfolio(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    name = models.CharField(max_length=200, blank=False, null=False)


class Image(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    portfolio = models.ForeignKey(Image, related_name="images", on_delete=models.CASCADE)

    thumb = models.URLField(blank=True, null=True)

Вид:

class PortfolioViewSet(viewsets.ModelViewSet):
    serializer_class = serializers.PortfolioSerializer
    queryset = models.Portfolio.objects.all()
    permission_classes = (permissions.IsAuthenticated, core_permissions.IsMineOnly)

    def get_queryset(self):
        portfolios = self.request.user.portfolio_set.all()
        ser = self.serializer_class(portfolios, many=True)
        data = ser.data

        return data

сериализаторы:

class PortfolioSerializer(serializers.ModelSerializer):

    images = ImageSerializer(many=True)

    class Meta:
        model = models.Portfolio
        exclude = ('user',)


class ImageSerializer(serializers.ModelSerializer):
    class Meta:
        model = Image
        fields = '__all__'

Я читал этот ответ, в котором говорится, что мы должны использовать validated_data после первого вызова is_valid(), но я сериализую не данные, а queryset, поэтому я не могу вызвать этот метод.

get_queryset должен возвращать queryset.

def get_queryset(self):
    return self.request.user.portfolio_set.all()
Вернуться на верх