Django查询优化级联查询多条件查询
一:构造Q查询
from django.db.models import Q
query_params = Q(is_zs=True)
if create_peoples:
query_params &= Q(aa__in=create_peoples)
if master_title:
query_params &= Q(bb__contains=master_title)
lit = AA.objects.exclude(is_old=True).filter(query_params)
二:使用**kwargs根据所有条件来构建一个字典进行查询
search_dict = dict()
search_dict['vv'] = True
if thing_type:
search_dict['bb'] = thing_type
if master_title:
search_dict['aa__contains'] = master_title
lit = list(AA.objects.exclude(is_old=True).filter(**search_dict)