В модели объекта Post у меня есть поле created = models.DateTimeField field (auto_now_add = True)
Есть еще одно поле end_time
, в котором - сегодняшняя дата + на 1 месяц вперед. То есть, если сообщение было создано, то в поле created
(5 января 2020 г.) будет указана сегодняшняя дата, а в поле end_time
- на месяц вперед (5 февраля 2020 г.).
def next_month():
now = timezone.now()
return now + relativedelta(months=+1)
end_time = models.DateTimeField(default=next_month, blank=True, editable=False)
Ко всему этому мне нужно добавить поле is_actual
, в котором -
@property
def is_actual(self):
return bool(self.end_time and self.end_time > now())
Но в этом случае я не могу использовать фильтр для отображения полей где is_actual == true
. Для меня очень важен фильтр, использующий это поле.
Что нужно сделать, чтобы я мог применить фильтр к полю is_actual
? Насколько я понимаю, здесь нужно один раз в день, например, вносить изменения в базу данных. Но как? Написать какой-нибудь нестандартный скрипт или как-то сделать это с помощью Django методов?