Как автоматически сохранять и удалять данные в базе данных Django? - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь создать сайт, используя Django, но я хотел бы обновлять свою базу данных каждые 15 минут новыми очищенными данными. Кроме того, я хотел бы удалить старые данные, которые были сохранены более одной недели.

Я смог сделать это вручную, используя Django manage.py shell, но как я могу сделать это автоматически?

Существует ли какая-либо библиотека для автоматического управления базой данных c, совместимая с Django?

Заранее спасибо!

1 Ответ

0 голосов
/ 03 февраля 2020

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

Моя цель состояла в том, чтобы автоматически запускать функцию в моем приложении Django каждый рабочий день в 16:00.

Быстрый поиск покажет Вы хотите настроить периодическое расписание c. Для этого мне понадобилось:

  • Celery - популярная система очередей / планирования задач с Django совместимостью
  • Redis - брокер Я решил использовать
  • Django Удар сельдерея - Удар сельдерея - это периодическая задача c для планирования задач Celery - этот пакет Django добавляет интеграцию базы данных, чтобы вы могли контролировать расписание ваших событий из админ-панели

Настройка с использованием этих 3 элементов обеспечит все необходимое для настройки того, что вы ищете. С точки зрения реализации, я мог бы попытаться напечатать все это здесь, но я чувствую, что просто скопирую руководства, которым я следовал. Я нашел этот особенно полезным, но я предполагаю, что вы не используете Docker (хотя я рекомендую вам это сделать!). В любом случае, между этим и официальным руководством Celery Getting Started и Django Celery Beat guide , у вас будет все необходимое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...