Django:Django筛选器查询为列表中的每个查询设置
我有一个过滤器查询列表。我想在django filter queryset上运行该查询 这是我的密码Django:Django筛选器查询为列表中的每个查询设置,django,Django,我有一个过滤器查询列表。我想在django filter queryset上运行该查询 这是我的密码 query_list = [] if len(stream_list) != 0: stream_query = reduce(lambda x, y: x | y, [Q(course__stream__contains=word) for word in stream_list]) query_list.append(stream_query)
query_list = []
if len(stream_list) != 0:
stream_query = reduce(lambda x, y: x | y, [Q(course__stream__contains=word) for word in stream_list])
query_list.append(stream_query)
if len(state_list) != 0:
state_query = reduce(lambda x, y: x | y, [Q(college_name__contains=word) for word in state_list])
query_list.append(state_query)
if len(duration_list)!= 0:
duration_query = reduce(lambda x, y: x | y, [Q(course__program_details__contains=word) for word in duration_list])
query_list.append(duration_query)
现在我想在django filter queryset上的query_列表中运行查询
那样
clg_list = College.objects.filter(stream_query, state_query, duration_query)
我该怎么做。如我所见,您的
流
、状态
和持续时间
查询都是Q
对象。所以你应该可以这样混合它们:
clg_list = College.objects.filter(reduce(lambda x, y: x & y, query_list))
如我所见,您的
流
、状态
和持续时间
查询都是Q
对象。所以你应该可以这样混合它们:
clg_list = College.objects.filter(reduce(lambda x, y: x & y, query_list))