def filter(self, **kwargs): # print "enter filter: old query = %s" % self.query clone = self._clone() for param_name, param_value in kwargs.iteritems(): new_condition = BaseSearchQuery() if param_name == 'content': # print "fields = %s" % self.fields for field_name, field_object in self.fields.iteritems(): if isinstance(field_object, CharField): this_query = {field_name: param_value} new_condition.add_filter(SQ(**this_query), use_or=True) # result = self.__and__(dj) clone.query.combine(new_condition, SQ.AND) elif getattr(param_value, '__iter__', None): for possible_value in param_value: this_query = {param_name: possible_value} new_condition.add_filter(SQ(**this_query), use_or=True) clone.query.combine(new_condition, SQ.AND) else: this_query = {param_name: param_value} clone.query.add_filter(SQ(**this_query)) # print "exit filter: new query = %s" % self.query return clone
def setUp(self): super(BaseSearchQueryTestCase, self).setUp() self.bsq = BaseSearchQuery()
def setUp(self): super(BaseSearchQueryTestCase, self).setUp() self.bsq = BaseSearchQuery(backend=DummySearchBackend())
def setUp(self): super().setUp() self.bsq = BaseSearchQuery()