diff --git a/xapian_backend.py b/xapian_backend.py index c64e895..e9e3dfd 100755 --- a/xapian_backend.py +++ b/xapian_backend.py @@ -8,6 +8,7 @@ import re import shutil import sys +import django from django.utils import six from django.conf import settings from django.core.exceptions import ImproperlyConfigured @@ -466,8 +467,12 @@ class XapianSearchBackend(BaseSearchBackend): add_non_text_to_document(prefix, term, weight) # store data without indexing it + if django.VERSION < (1, 7): + model_name = obj._meta.module_name + else: + model_name = obj._meta.model_name document.set_data(pickle.dumps( - (obj._meta.app_label, obj._meta.module_name, obj.pk, data), + (obj._meta.app_label, model_name, obj.pk, data), pickle.HIGHEST_PROTOCOL )) @@ -664,7 +669,7 @@ class XapianSearchBackend(BaseSearchBackend): matches = self._get_enquire_mset(database, enquire, start_offset, end_offset) for match in matches: - app_label, module_name, pk, model_data = pickle.loads(self._get_document_data(database, match.document)) + app_label, model_name, pk, model_data = pickle.loads(self._get_document_data(database, match.document)) if highlight: model_data['highlighted'] = { self.content_field_name: self._do_highlight( @@ -672,7 +677,7 @@ class XapianSearchBackend(BaseSearchBackend): ) } results.append( - result_class(app_label, module_name, pk, match.percent, **model_data) + result_class(app_label, model_name, pk, match.percent, **model_data) ) if facets: @@ -780,9 +785,9 @@ class XapianSearchBackend(BaseSearchBackend): matches = self._get_enquire_mset(database, enquire, start_offset, end_offset) for match in matches: - app_label, module_name, pk, model_data = pickle.loads(self._get_document_data(database, match.document)) + app_label, model_name, pk, model_data = pickle.loads(self._get_document_data(database, match.document)) results.append( - result_class(app_label, module_name, pk, match.percent, **model_data) + result_class(app_label, model_name, pk, match.percent, **model_data) ) return {