【发布时间】:2020-06-15 06:57:08
【问题描述】:
我正在使用理解在多个起始日期输入之间动态过滤。 如果两者之一没有价值,搜索应该仍然有效。
如何使用 django range operator 应用以下逻辑?
我真正想要的是能够传入过滤qs = qs.filter(**filters)并将其转换为qs = qs.filter(date_from1__lt=whatever)
def mail_search(request):
today_date = datetime.now()
qs = MailAllocation.objects.filter(cmp_id=cmp_id)
"""comprehension: build a dictionary and use it for filtering queryset dynamically"""
filters = {
key: value
for key, value in request.POST.items()
if key in ['date_from1','date_to1','date_from2','date_to2','date_from3','date_to3']
}
qs = qs.filter(**filters).order_by('-creation_date')
context={
'dfs_search_results':qs,
}
return render(request,'mail_search_results.html',context)
【问题讨论】:
标签: python django list-comprehension