我用的是django1.10
我有一个查询,它取决于接收到的参数—它取决于“job\u name”是否为None:
def delete_jobs_by_age_and_name(days_ago, job_name=None):
date_to_delete_from = datetime.today() - timedelta(days=days_ago
if job_name is not None:
jobs_to_delete = AsyncJob.objects.filter(
name=job_name,
created_at__lte=date_to_delete_from
)
else:
jobs_to_delete = AsyncJob.objects.filter(created_at__lte=date_to_delete_from)
我想在一个查询中这样做。例如:
job_name = ANY if job_name is None
jobs_to_delete = AsyncJob.objects.filter(
name=job_name,
created_at__lte=date_to_delete_from
)
有这样的选择吗
我认为func需要将jobs返回到delete值
我能想到的最短(2行)的方法是:
这样,您就可以使用一个“inline”if语句来缩短编写的代码,并保持所有内容的可读性和简单性
您可以编写查询
您可以将
filter
参数作为字典传递,这样您就只需要一个filter
调用,然后在filter
调用中解压字典。像这样:相关问题 更多 >
编程相关推荐