Как автоматически удалить запись в соответствии с датой окончания в django

У меня есть приложение django с моделью ниже

Class Promotion(models.Model): name = models.CharField(max_length=256) start_date = models.DateTimeField() end_date = models.DateTimeField() 

Таким образом, во время создания рекламной записи мы установим start date end date , поэтому, какова вся функциональность, когда current date больше end date , запись должна быть автоматически удалена из базы данных, иначе электронное письмо будет отправлено … так что некоторые из этих ситуаций.

Так может кто-нибудь, пожалуйста, дайте мне знать, как обращаться с этими ситуациями, я имею в виду, когда текущая дата больше, чем дата продвижения, сделайте что-то …….

2 Solutions collect form web for “Как автоматически удалить запись в соответствии с датой окончания в django”

Я бы выполнил команду управления, которая удаляет любую из записей Promotion , которые «истекли», т. end_date Их end_date прошел. Затем запланированное задание, задание cron в Ubuntu (и Unix-приправленные системы), вызовет команду управления по расписанию, указанному вами через crontab , в этом случае не реже одного раза в день.

Изменить: альтернативно вы можете использовать celery «Задачи периода» для запуска запланированных задач, здесь документы.

Используйте проверку сигнала pre_save для проверки дат перед входом в новую запись.

https://docs.djangoproject.com/en/dev/topics/signals/

  • Когда должен быть вызван метод сохранения в Django?
  • Данные усекаются для столбца 'url' в строке 1 - Ошибка при программировании с помощью Python Django
  • Выпадающий список внешнего ключа Django admin с пользовательским значением
  • Медленный доступ к запросу Django.
  • Самая чистая и быстрая настройка сервера для Django
  • Django - Создайте ZIP-файл из нескольких файлов и сделайте его загружаемым
  • Как очистить изображения в Python / Django?
  • Использование Django auth Модель пользователя в качестве внешнего ключа и обратных отношений
  • Python - лучший язык программирования в мире.