Не получается отменить сохранение модели

у меня есть данный сигнал:

@receiver(pre_save, sender=Post)
def check_for_saves(sender, instance, **kwargs):
    current_author = instance.author.id
    current_time = datetime.now(tz=timezone.utc)
    day = timedelta(days=1)
    my_time = current_time - day

    for i in Post.objects.all().filter(author=current_author).values("heading"):
        if len(i) > 1:
            send_mail(
                subject="Error",
                message="Sorry, you can't save more than 1 post per day(",
                from_email='почта',
                recipient_list=["почта автора"]
            )
            raise Exception("Sorry, you can't save more than 1 post per day(")

Цель: запретить автору (model = Author) публиковать больше 1 поста (model = Post) в день. При попытке должно выбрасываться исключение и отправляться email на почту автора.

Модель Author:

class Author(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    author_rating = models.FloatField(default=0)

Post:

class Post(models.Model):
    author = models.ForeignKey('Author', on_delete=models.CASCADE)
    choice = models.CharField(max_length=2, choices=CHOICES, default=news)
    published_date = models.DateTimeField(auto_now_add=True)
    post_category = models.ManyToManyField("Category", through="PostCategory")
    heading = models.CharField(blank=False, unique=True, max_length=255)
    text = models.TextField(blank=False)
    post_rating = models.FloatField(default=0)
    history = HistoricalRecords()

Помогите пожалуйста, не понимаю как можно решить данную задачу (мой сигнал вообще не работает).


Ответы (0 шт):