Я продолжаю получать эту ошибку:
MultiValueDictKeyError at /search/
"Key 'name' not found in <'QueryDict: {}>"
Я только начал изучать программирование два дня назад, поэтому кто-то может объяснить непрофессионалу, почему существует проблема и как ее решить.Спасибо!
Вот раздел программирования:
def NameAndOrCity(request):
NoEntry = False
if 'name' in request.GET and request.GET['name']:
name = request.GET['name']
if len(Business.objects.filter(name__icontains=name)) > 0:
ByName = Business.objects.filter(name__icontains=name)
q = set(ByName)
del ByName
ByName = q
if 'city' in request.GET and request.GET['city']:
city = request.GET['city']
if len(Business.objects.filter(city__icontains=city)) > 0:
ByCity = Business.objects.filter(city__contains=city)
p = set(ByCity)
del ByCity
ByCity = p
if len(q) > 0 and len(p) > 0:
NameXCity = q & p
return render_to_response('search_results.html', {'businesses':NameXCity, 'query':name})
if len(q) > 0 and len(p) < 1:
return render_to_response('search_results.html', {'businesses':ByName, 'query':name})
if len(p) > 0 and len(q) < 1:
return render_to_response('search_results.html', {'businesses':ByCity, 'query':city})
else:
NoResults = True
return render_to_response('search_form.html', {'NoResults': NoResults})
else:
name = request.GET['name']
city = request.GET['city']
if len(name) < 1 and len(city) < 1:
NoEntry = True
return render_to_response('search_form.html', {'NoEntry': NoEntry})
РЕДАКТИРОВАНИЕ
1) Business.object - это моя база данных предприятий.Это объекты с такими атрибутами, как имя, город и т. Д. Я пытаюсь создать программу, которая будет искать компании по их атрибутам
2, а не дублировать сообщение
3) как проверить, существуют ли эти ключи, прежде чем пытаться их использовать?