Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 查询中按时间戳过滤_Django - Fatal编程技术网

Django 查询中按时间戳过滤

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

我有一份工作清单。它们按作业类型过滤,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, 
   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'