Увеличивайте значение базы данных Django каждый день

Предположим, я создал модель Django с целочисленным полем count, начальное значение которого для каждой записи равно 0. Как мне увеличить это значение для каждой записи в базе данных раз в день?

Вы можете настроить Celery так, чтобы он выполнял задания периодически, каждый день. https://docs.celeryq.dev/en/stable/userguide/periodic-tasks.html

Внутри задачи получите запись БД и обновите ее.

Для получения дополнительной информации вы можете проверить следующее: https://medium.com/@yedjoe/celery-4-periodic-task-in-django-9f6b5a8c21c7

простой трюк добавьте create_on (дату) в таблицу. вот так created_on = models.DateTimeField(auto_now_add=True) всякий раз, когда вы создаете новую запись. Всякий раз, когда вы хотите проверить количество записей в UI, просто возьмите текущую дату и выполните математическое уравнение, которое даст вам разницу между двумя датами, что в конечном итоге будет вашим количеством, и вы можете сделать простой запрос обновления для поддержания количества в базе данных.

from datetime import date

d0 = date(2008, 8, 18)
d1 = date(2008, 9, 26)
delta = d1 - d0
print(delta.days)
Вернуться на верх