Предотвращение добавления определенных значений в модель Django

Я пытаюсь наложить ограничение на мою модель Django. У меня есть модель пользователя, а затем модель, которая позволяет одному пользователю "следовать" за другим. Я хочу установить ограничение, чтобы пользователь не мог следить за собой. Это не совсем работает, но я застрял на том, что делать. Когда я пытаюсь добавить новый объект. Он позволяет мне изменить существующую запись, но если я пытаюсь создать новую, я получаю ошибку:

Follower: Follower object (None)>" needs to have a value for field "id" before this many-to-many relationship can be used.

Мне кажется, что я должен как-то сохранить его, прежде чем проверять наличие предметов, но я не уверен, как это сделать.

Модели

class User(AbstractUser):
    pass   


class Follower(models.Model):
    user = models.ForeignKey(User,on_delete=models.CASCADE, related_name="followers", unique=True)
    follows = models.ManyToManyField(User,blank=True,related_name="follows")


    # Prevent User from following themselves
    def save(self, *args, **kwargs):        
        if self.follows.contains(self.user):
            return
        else:
            super().save(*args, **kwargs)

Я пробовал варианты оператора if и пробовал использовать цикл for, чтобы пройти через поле ManytoMany, но я вижу, что объект еще не существует

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