Django @property и setter для поля модели
Я пытаюсь создать поле, которое должно обновляться по времени и использовать для него getter и setter. Ниже приведен мой код, который должен работать, но что-то пошло не так, не могли бы вы мне помочь, что я упустил? Как добавить это поле в админку (результат сеттера)?
_status = models.CharField(max_length=15, choices=status_choice, default=COMING_SOON)
time_start = models.DateTimeField()
time_end = models.DateTimeField()
@property
def status(self):
return self._status
@status.setter
def status(self, value):
if value == Lessons.COMING_SOON and self.time_end > datetime.now() > self.time_start:
self._status = Lessons.IN_PROGRESS
elif value == Lessons.IN_PROGRESS and self.time_end < datetime.now():
self._status = Lessons.DONE
Я пытался проверить, работает ли он, вручную изменяя значение в оболочке ./manage.py, но результата не получил. Похоже, что @property не работает.