Для достойной реализации поиска в django, я бы порекомендовал посмотреть на djapian
. Однако для того, что вы делаете, я бы порекомендовал запрос с использованием параметра ISTARTSWITH
. Учтите следующее:
views.py
def search(req):
if req.GET:
search_term = req.GET['term']
results = ModelToSearch.objects.filter(field__istartswith=search_term)
return render_to_response('search.html', {'results': results})
return render_to_response('search.html', {})
search.html
<html>
<body>
<form>
<input name='S'>
</form>
{% if results %}
Found the following items:
<ol>
{% for result in results %}
<li>{{result}}</li>
{% endfor %}
</ol>
{% endif %}
</body>
</html>