Python 与来自其他字段(F()对象)的时间增量的日期时间比较 背景:

Python 与来自其他字段(F()对象)的时间增量的日期时间比较 背景:,python,django,datetime,orm,Python,Django,Datetime,Orm,我正在尝试为queryset筛选设置一个条件 它表示我的模型的两个字段,一个字段表示时间增量(分钟数),一个字段表示日期时间(start\u datetime),和datetime.datetime.now()(又称now) 我想检查一下是否start\u datetime-now我想我找到了一个解决方案 我在不同的转换和演员阵容中挣扎了太多,所以我尝试了另一种方式: 我在time_delta属性上应用了过滤条件,并使用两个日期之间的差值,从中提取自历元时间以来的秒数,然后除以60得到分钟数:

我正在尝试为queryset筛选设置一个条件

它表示我的模型的两个字段,一个字段表示时间增量(分钟数),一个字段表示日期时间(
start\u datetime
),和
datetime.datetime.now()
(又称
now


我想检查一下是否
start\u datetime-now我想我找到了一个解决方案

我在不同的转换和演员阵容中挣扎了太多,所以我尝试了另一种方式:

我在
time_delta
属性上应用了过滤条件,并使用两个日期之间的差值,从中提取自历元时间以来的秒数,然后除以60得到分钟数:

它给出了类似于:

>>> from django.db.models import F
>>> from django.db.models.functions import Extract, Now
>>> Entry.objects.filter(
...     time_delta__gte=(Extract(F("start_datetime"), "epoch") - Extract(Now(), "epoch"))/60
... )
>>> from datetime import timedelta
>>> Entry.objects.filter(mod_date__gt=F('pub_date') + timedelta(days=F('n_timedelta')))
>>> from django.db.models import F
>>> from django.db.models.functions import Extract, Now
>>> Entry.objects.filter(
...     time_delta__gte=(Extract(F("start_datetime"), "epoch") - Extract(Now(), "epoch"))/60
... )