diff --git a/apps/dynamic_search/managers.py b/apps/dynamic_search/managers.py index 53ebe7860f..57a4ad30ab 100644 --- a/apps/dynamic_search/managers.py +++ b/apps/dynamic_search/managers.py @@ -2,7 +2,6 @@ from __future__ import absolute_import from urlparse import urlparse, parse_qs from urllib import unquote_plus -import copy from django.utils.simplejson import dumps from django.db.models import Manager @@ -37,12 +36,8 @@ class IndexableObjectManager(Manager): else: return self.model.objects.all() - def get_indexables_pk_list(self, datetime=None, clear_indexable=False): - indexable_query_set = self.get_indexables(datetime) - indexable_value_list = copy.copy(indexable_query_set.values_list('object_id', flat=True)) - if clear_indexable: - indexable_query_set.delete() - return indexable_value_list + def get_indexables_pk_list(self, datetime=None): + return self.get_indexables(datetime).values_list('object_id', flat=True) def mark_indexable(self, obj): content_type = ContentType.objects.get_for_model(obj) diff --git a/apps/dynamic_search/search_indexes.py b/apps/dynamic_search/search_indexes.py index e2bfa0c69c..b053ff7066 100644 --- a/apps/dynamic_search/search_indexes.py +++ b/apps/dynamic_search/search_indexes.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import logging +import copy from haystack import indexes @@ -18,6 +19,9 @@ class DocumentIndex(indexes.SearchIndex, indexes.Indexable): return Document def build_queryset(self, start_date=None, end_date=None): - indexable_list = IndexableObject.objects.get_indexables_pk_list() - logger.debug('indexable list: %s' % indexable_list) - return self.get_model().objects.filter(pk__in=indexable_list) + indexable_query_set = IndexableObject.objects.get_indexables() + logger.debug('indexable_query_set: %s' % indexable_query_set) + object_list = copy.copy(self.get_model().objects.filter(pk__in=indexable_query_set.values_list('object_id', flat=True))) + logger.debug('object_list: %s' % object_list) + indexable_query_set.delete() + return object_list