Как запланировать создание объектов для модели в django?

У меня есть модель уведомления, которая создает уведомление, я хотел бы запланировать создание уведомлений на определенные даты. То есть, используя другую модель, я хочу запланировать и создать уведомления на дату, указанную в уведомлении о расписании.

Как мне это сделать? Какой путь проще для достижения этой цели? Все, о чем я могу думать, это rabbitmq и celery. И я даже не знаю, как это может создать уведомление на динамическую дату.

class Notice(models.Model):
    title = models.CharField(max_length=200)
    contentt = RichTextField(blank=True, null=True)
    slug = models.SlugField(unique=True)


    def __str__(self):
        return self.title

class Schedule(models.Model):
    title = models.CharField(max_length=200)
    contentt = RichTextField(blank=True, null=True)
    date = models.DateTimeField()

    def __str__(self):
        return self.title

Выше приведен пример models.py, Итак, для каждого созданного расписания он использует дату на нем, чтобы создать уведомление, которое содержит заголовок и содержание модели расписания. Таким образом, разные люди могут создавать расписания для уведомлений, и в эту конкретную дату оно создает его. Как мне это сделать?

Я предполагаю, что вы имеете в виду, что для каждого созданного объекта расписания автоматически создаются объекты уведомления.

Если это то, что вы имеете в виду. Вам просто нужно использовать встроенные сигналы.

from django.dispatch import receiver
from django.db.models.signals import post_save

@receiver(post_save, sender=Schedule)
def post_save_schedule(sender, instance, created, **kwargs):
if created:
   Notice.objects.create(
      title = instance.title, 
      content = instance.content
   )
Вернуться на верх