这个Q和F用得少,
需要时,总是独立的存在于那时,显得有些突兀,
这次想将filter,order,Q集合在一起,
查询了很多资料,还是有一些困难,
但即可以将Q查询比较优雅的动态生成。
比如:
# 通过字典过滤,显得逼格高点 filter_dict = dict() filter_dict['status'] = True filter_dict['node_port__gt'] = '0' if self.request.GET.get('search_pk'): search_pk = self.request.GET.get('search_pk') query_1 = Q(status=True) query_2 = Q(name__icontains=search_pk) query_2 = query_2 | Q(node_port__icontains=search_pk) query = query_1 & query_2 return App.objects.filter(**filter_dict).filter(query)
在上面代码中,filter本身的字典和Q查询还是分成了两部分,
但比以前那种,看起来还是好一些了。