Автоматическое обновление моделей в зависимости от условий

У меня есть модель

class Session(models.Model):
    name = models.CharField(max_length=12)
    active = models.BooleanField(default=False)
    date = models.DateField()
    startTime = models.TimeField()

Активное поле устанавливается на основе даты и времени начала. Например -

Предположим, во время создания объекта, дата указана на завтра, и пусть будет любое время, я хочу знать процесс, а не код, как и что нужно изучить, чтобы сделать этот объект активным в эту конкретную дату и время.

По умолчанию активное поле имеет значение False, или мне следует изменить способ реализации?

Спасибо

Я бы посоветовал использовать DateTimeField для начальной метки времени, а active сделать свойством, так:

from django.utils import timezone


class Session(models.Model):
    name = models.CharField(max_length=12)
    start = models.DateTimeField()
    
    @property
    def active(self):
        return timezone.now() >= self.start

Таким образом, не хранит поле active в базе данных, а просто определяет его значение, когда это необходимо.

Вернуться на верх