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