# -*- coding: utf-8 -*- from django import forms from place_exposition.models import PlaceExposition from place_conference.models import PlaceConference from django.utils.translation import ugettext_lazy as _ from haystack.query import SearchQuerySet, EmptySearchQuerySet class PlaceSearchForm(forms.Form): q = forms.CharField(label=_(u'Поиск'), required=False) w = forms.CharField(label=_(u'Где'), required=False) def search(self): q = self.cleaned_data.get('q') w = self.cleaned_data.get('w') if not q and not w: return EmptySearchQuerySet() sqs = SearchQuerySet().models(PlaceExposition, PlaceConference) if q: sqs = sqs.auto_query(q) if w: sqs = sqs.filter(where__contains=w) return sqs