Предотвращение добавления определенных значений в модель 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, но я вижу, что объект еще не существует