Django Serializer def validate validation error

В def validate у меня ошибка неавторизованного запроса. Когда я проверяю эти условия по отдельности, они в порядке. Но когда я пытаюсь использовать их оба, возникает ValidationError. Я делаю что-то не так?

class User(AbstractUser,PermissionsMixin):

    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    email = models.CharField(max_length=255,unique=True)
    public_profile = models.BooleanField(default=True)


class UserFollowSerializer(serializers.ModelSerializer):

    class Meta:
        model = UserFollow
        fields = ('id',"author","profile")

    def validate(self, attrs):
        attrs = super().validate(attrs)
        if (attrs['author'].id == self.context['request'].user) and (attrs['profile'].public_profile == False):
            return attrs
        raise ValidationError('Unauthorized Request')
        

Вы сравниваете целое число с экземпляром модели пользователя. Измените на user.pk и может сработать. attrs['author'].id == self.context['request'].user.pk

Вернуться на верх