Django 查询中按时间戳过滤
我有一份工作清单。它们按作业类型过滤,complete=False/True。 例如:Django 查询中按时间戳过滤,django,Django,我有一份工作清单。它们按作业类型过滤,complete=False/True。 例如:Job.objects.filter(Job\u type=1,complete=False) 我如何根据作业的时间戳过滤这些内容,如: job.timestamp.strftime(日期过滤器)=job.today().strftime(日期过滤器) 因此,我想最终返回如下列表: Job.objects.filter( job_type=1, complete=False, timesta
Job.objects.filter(Job\u type=1,complete=False)
我如何根据作业的时间戳过滤这些内容,如:
job.timestamp.strftime(日期过滤器)=job.today().strftime(日期过滤器)
因此,我想最终返回如下列表:
Job.objects.filter(
job_type=1,
complete=False,
timestamp.strftime(date_filter)=datetime.today().strftime(date_filter)
).distinct()
如果我没弄错您的问题,您是在尝试筛选某一天发生的所有作业吗?因此,计算一个日期范围,然后在过滤器中使用:
from datetime import datetime, timedelta
today = datetime.now().date()
if date_filter == "day":
timestamp_from = datetime.now().date()
timestamp_to = datetime.now().date() + timedelta(days=1)
elif date_filter == "month":
# Etc...
elif date_filter == "year":
# Etc...
Job.objects.filter(
job_type = 1,
complete = False,
timestamp__gte = timestamp_from,
timestamp__lt = timestamp_to,
).distinct()
否则,您可能可以使用一个我知道我可以使用timestamp\uuuuuu year=etc,但是timestamp\uuuuu week呢?它是我的模板标签的一部分,{%show\u jobs“day”%}:那将是date\u filter=day='%j'