上下文:
我正在尝试为查询集过滤创建条件。
这意味着我的模型有2个字段,一个字段代表timedelta(分钟数),一个字段代表日期时间(start_datetime
),和datetime.datetime.now()
(又名now
)。
我想检查是否start_datetime - now <= time_delta
。
一般情况:
我已经看到了一个示例(来自doc),在该示例中,我们可以比较两个日期(时间)和一个恒定的时间增量。
>>> from datetime import timedelta
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=3))
但是如果它是我输入的其他字段中包含的值怎么办?
显然不允许我尝试实例化此时间增量的方法。
>>> from datetime import timedelta
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=F('n_timedelta')))
是否可以找到使用ORM功能实现此目标的解决方案? 我想尽量避免使用一些原始SQL。