Python 与来自其他字段(F()对象)的时间增量的日期时间比较 背景:
我正在尝试为queryset筛选设置一个条件 它表示我的模型的两个字段,一个字段表示时间增量(分钟数),一个字段表示日期时间(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得到分钟数:
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
... )