我是 Django 新手,如果这是一个愚蠢的问题,请原谅我。我有一个搜索表单,上面有多个字段。我只希望通过提交的非空字段过滤我的查询集。我怎么做?我知道您可以将查询集和 Q 对象链接在一起,但我不知道如何从链中消除空键/值对。我知道以下内容不起作用,但我认为它可能会深入了解我正在寻找的内容。谢谢你。
def art_search(request):
if request.method == 'GET':
form = AdvSearch(request.GET)
if form.is_valid():
art_name = form.cleaned_data['art_name']
art_number = form.cleaned_data['art_number']
artwork = Inventory.objects.filter(
if art_name is not u'':
Q(marketingname=art_name),
if art_number is not u'':
Q(marketingnumber=art_number)
)
return object_list(request, queryset=artwork)
else:
form = AdvSearch()
return render_to_response('art/search.html', {
'form': form,
})