Как изменить статус объекта автоматически?

Я работаю над проектом, цель проекта заключается в том, что пользователь создает объявление и мне нужно изменить статус 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)
Вернуться на верх