Django dynamic filters operator.or&;接线员_
问题: 我目前有一个日期范围,显示该日期范围内的值 我想添加一个过滤器,允许首先显示过期的值,以便小于开始日期以及日期范围内的值 我需要使用运算符和来连接决定值是否过期的两个条件 然后在我的qs_参数中使用运算符.and将其添加到我的过滤器中 下面是到目前为止我的逻辑和代码Django dynamic filters operator.or&;接线员_,django,filter,python-3.4,Django,Filter,Python 3.4,问题: 我目前有一个日期范围,显示该日期范围内的值 我想添加一个过滤器,允许首先显示过期的值,以便小于开始日期以及日期范围内的值 我需要使用运算符和来连接决定值是否过期的两个条件 然后在我的qs_参数中使用运算符.and将其添加到我的过滤器中 下面是到目前为止我的逻辑和代码 exp = ("condition_one", False) exp_two = ("due_by__lte", start_date) if date_range(x,y) or (exp and
exp = ("condition_one", False)
exp_two = ("due_by__lte", start_date)
if date_range(x,y) or (exp and due_by__lte(x,y))
迄今为止的代码示例:
date_range = ["due_by__range", (day_start(start_date), day_end(end_date))]
exp = ("condition_one", False)
exp_two = ("due_by__lte", start_date)
expired = [exp, exp_two]
test = [Q(expired) for expired in date_range]
qs_params.append(
test)
if qs_params:
qs = qs.filter(
)
我想你要求的是这样的:
query = Q(due_by__range=(day_start(start_date), day_end(end_date)))
query |= Q(condition_one=False, due_by__lte=start_date)
result_qset = mymodel.objects.filter(query)
不清楚你在问什么这真的不清楚。这两个片段是如何相互关联的?请至少显示有效代码;这充满了语法错误、缩进问题、重新定义的变量、对非函数的调用……我已经更新了描述,第一段代码只是一个逻辑if语句,说明了我要做的事情