Python Django网站如果搜索
如果有,我会与Python混淆 我为搜索过滤器输入了四个文本。 在调试中,我尝试了“x不是无”或“x!=无” 但它不能工作。 [请求有参数时工作良好的结果] [请求没有任何参数时工作不正常]Python Django网站如果搜索,python,django,Python,Django,如果有,我会与Python混淆 我为搜索过滤器输入了四个文本。 在调试中,我尝试了“x不是无”或“x!=无” 但它不能工作。 [请求有参数时工作良好的结果] [请求没有任何参数时工作不正常] 我在您的代码中没有看到任何None。如果找不到相关的第一个键,则request.GET.GET()有一个可选参数提供了一个可选值。默认情况下,这是None。由于您正在与''进行比较,因此可以使用
我在您的代码中没有看到任何
None
。如果找不到相关的第一个键,则request.GET.GET()
有一个可选参数提供了一个可选值。默认情况下,这是None
。由于您正在与''
进行比较,因此可以使用<如果找不到“q2
”,请将good
设置为空字符串。由于从request.GET.GET()
获取的所有变量都是字符串,因此单独比较变量更具python风格,因为空字符串(或无
!)是一个错误的值:如果不好或不是买家:
等等。非常感谢!对正如你提醒的那样,它成功了!
def search(request):
good = request.GET.get("q2")
buyer = request.GET.get("q3")
StartTime = request.GET.get("SD")
EndTime = request.GET.get("ED")
context = {}
if good is not '' or buyer is not '':
if good != '' and buyer != '':
context = Dlyndx.objects.filter(
Q(date__gt=StartTime),Q(date__lte=EndTime),
Q(dlysale__btype__exact=buyer)&Q(dlysale__ptype__exact=good) |
Q(dlybuy__btype__exact=buyer)&Q(dlybuy__ptype__exact=good))
return render_to_response('search.html',{'context':context})
elif good != '' and buyer == '':
context = Dlyndx.objects.filter(
Q(date__gt=StartTime),Q(date__lte=EndTime),
Q(dlysale__ptype__exact=good) |
Q(dlybuy__ptype__exact=good))
return render_to_response('search.html',{'context':context})
else:
context = Dlyndx.objects.filter(
Q(date__gt=StartTime),Q(date__lte=EndTime),
Q(dlysale__btype__exact=buyer) |
Q(dlybuy__btype__exact=buyer)).distinct()
return render_to_response('search.html',{'context':context})
else:
return render(request,"search.html")