Как изменить статус объекта автоматически?
Я работаю над проектом, цель проекта заключается в том, что пользователь создает объявление и мне нужно изменить статус is_active
на False
автоматически через 30 дней, чтобы объявление было активно 30 дней, но я понятия не имею, как это сделать, я использую Django Rest Framework и VueJs.
Вам необходимо установить систему задач, что-то вроде celery.
Затем есть задача, которая выполняется ежедневно, получая объекты объявлений с датой создания более 30 дней.
После того, как у вас есть эти объекты, вы можете установить статус is_active в False.
Вы можете создать пользовательскую команду для django, которую вы можете запускать в crontab каждый день. С помощью этой команды вы выбираете все, дата создания которых превышает 30 дней
Это не все, это лишь небольшая помощь......
import datetime
import calendar
def add_months(sourcedate, months):
month = sourcedate.month - 1 + months
year = sourcedate.year + month // 12
month = month % 12 + 1
day = min(sourcedate.day, calendar.monthrange(year,month)[1])
return datetime.date(year, month, day)