From 1792599411c4a0f6e64d5494386b18856cb492f3 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 22 May 2012 23:25:06 -0400 Subject: [PATCH] Move removal of items marked for indexing to the search_indexes.py file --- apps/dynamic_search/managers.py | 9 ++------- apps/dynamic_search/search_indexes.py | 10 +++++++--- 2 files changed, 9 insertions(+), 10 deletions(-) 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