Я пытаюсь создать метод менеджера внутри моего приложения, чтобы отфильтровать объект электронной почты, который был создан 5/10/15 минут или что-то еще, считая точно с этого момента.
Хотя я собираюсь использовать аннотацию для создания нового параметра, который будет bool, и его состояние зависит от простого вычитания с делением и проверки, если результат больше 0.
from django.db.models import F
from django.utils import timezone
delta = 60 * 1 * 5
current_date = timezone.now()
qs = self.annotate(passed=((current_date - F('created_at')).seconds // delta > 0)).filter(passed=True)
Atm моя ошибка говорит:
AttributeError: 'CombinedExpression' object has no attribute 'seconds'
Это явно происходит из-за того факта, что ((current_date - F('created_at'))
оценивает не объект datetime.timedelta
, а объект CombinedExpression.
Я вижу больше проблем, например, как сравнить выражение с 0?
В любом случае, буду признателен за любые советы, если я приблизился к достижению своей цели или вся логика этого запроса неверна