I have simple search application
How can I search by Categories
using <select><option></select>
the result :
results = Adv.objects.filter(title__icontains=query).filter(cate__name__icontains=query)
here is the code :
models
class Category(models.Model):
slug = models.SlugField(unique=True)
name = models.CharField(max_length=60)
class Adv(models.Model):
title = models.CharField(max_length=60)
pub_date = models.DateTimeField(auto_now_add=True)
namecar = models.CharField(max_length=60)
cate = models.ForeignKey(Category)
view
def search(request):
if 'q' in request.GET:
query = request.GET['q']
results = Adv.objects.filter(title__icontains=query).filter(cate__name__icontains=query)
# print results.query
else:
query = ""
results = None
template = loader.get_template('search/search1.html')
context = Context({ 'query': query, 'results': results, 'city_list': ChoiceCity.objects.all() })
response = template.render(context)
return HttpResponse(response)
url
(r'^search1/$', 'car.search.views.search'),
template
<form method="get" action="/search1/">
<p><label for="id_q">Search:</label>
<input type="text" name="q" id="id_q" value="{{ query }}" />
<input type="submit" value="Submit" /></p>
</form>
I guess you want to be able to filter the result based on the category. I would suggest adding a category selection drop down in your template. This would require you to send the category objects into the template so, it could be rendered