【发布时间】:2020-06-28 14:18:06
【问题描述】:
在我的 webwapp 中,我希望用户能够通过从 sidebar 中选择类别来过滤搜索结果。
视图中的数据 GET 请求检索所选选项列表并被解析出来。然后将要过滤的这些数据分成列表,如下面的sn-p from Index in views.py:
class Index(View):
def get(request):
... some checks to ensure its a valid request...
if valid:
dietTypeList = request.GET.getlist('diettype[]') #['meat','vegetarian',...]
categoryList = request.GET.getlist('categories[]') #['Italian','Western',...]
....
return render(request,'results.html',context_dict)
....
然后我想在 .filter() 过滤器函数中过滤结果,以便我的结果是任何选定的类别,任何饮食类型应用于这些类别。
我已经查看了 Q 查询,但是我不确定无论如何如何执行以下操作 我如何有效地做到以下几点:
results = Recipe.objects.filter(Q(name__contains=searchCriteria) & Q(category=any of categoryTypeList ))
【问题讨论】:
-
如果我建议
category__in=[category, list],我会错过什么吗?
标签: python django list django-queryset