Не получается отменить сохранение модели
у меня есть данный сигнал:
@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()
Помогите пожалуйста, не понимаю как можно решить данную задачу (мой сигнал вообще не работает).