Я хочу сделать запрос на основе двух полей модели, даты, смещения на int, используемых в качестве timedelta
model.objects.filter(last_date__gte=datetime.now()-timedelta(days=F('interval')))
не подходит, так как выражение F () не может быть передано в timedelta
Немного покопавшись, я обнаружил DateModifierNode
- хотя кажется, что он был удален в этой фиксации: https://github.com/django/django/commit/cbb5cdd155668ba771cad6b975676d3b20fed37b (из этого устаревшего вопроса SO Django: использование аргументов F в datetime.timedelta внутри запроса)
в коммите упоминается:
Запросы .dates () были реализованы с использованием пользовательских классов Query, QuerySet и Compiler. Вместо этого реализуйте их с помощью выражений и API-интерфейсов преобразователей баз данных.
что звучит разумно, и как будто все еще должен быть быстрый простой способ - но я слишком долго безрезультатно искал, как это сделать - кто-нибудь знает ответ?