From: Kaltar5679 Date: Tue, 5 May 2015 13:39:29 +0000 (+0200) Subject: Revision of location for indexing X-Git-Tag: 1.6a^2~15^2~72^2 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=1cc21282cfc36f45e100f49a6404407195207fd0;p=telemeta.git Revision of location for indexing --- diff --git a/examples/sandbox/src/django-haystack b/examples/sandbox/src/django-haystack index 97475f28..bd60745c 160000 --- a/examples/sandbox/src/django-haystack +++ b/examples/sandbox/src/django-haystack @@ -1 +1 @@ -Subproject commit 97475f2813a36e402296d5f2389fe10cd4cd1e0b +Subproject commit bd60745ce82318b1819768c9a31db0579228654d diff --git a/telemeta/search_indexes.py b/telemeta/search_indexes.py index 1d995efa..66df3408 100644 --- a/telemeta/search_indexes.py +++ b/telemeta/search_indexes.py @@ -8,9 +8,6 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): item_acces = indexes.CharField(model_attr='collection__public_access', faceted=True) item_status = indexes.CharField(model_attr='collection__document_status', faceted=True) digitized = indexes.BooleanField(default=False, faceted=True) - recording_context = indexes.CharField(model_attr='collection__recording_context', default='', faceted=True) - #original_format = indexes.CharField(model_attr='collection__original_format', default='', faceted=True) - physical_format = indexes.CharField(model_attr='collection__physical_format', default='', faceted=True) media_type = indexes.CharField(model_attr='media_type', null='None', faceted=True) #advance search @@ -37,8 +34,11 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): def prepare_location(self, obj): location = [] - location.append(obj.location.name) - location_alias = LocationAlias.objects.filter(location__name=obj.location.name) + location.append(obj.location) + location_alias = LocationAlias.objects.filter(location__name=obj.location) + location_rela = LocationRelation.objects.filter(location__name=obj.location) + for rela in location_rela: + location.append(rela.ancestor_location) for alias in location_alias: location.append(alias) return "%s" % location @@ -66,9 +66,6 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): item_acces = indexes.CharField(model_attr='public_access', faceted=True) item_status = indexes.CharField(model_attr='document_status', faceted=True) digitized = indexes.BooleanField(default=False, faceted=True) - recording_context = indexes.CharField(model_attr='recording_context', default='' ,faceted=True) - #original_format = indexes.CharField(model_attr='original_format', default='', faceted=True) - physical_format = indexes.CharField(model_attr='physical_format', default='', faceted=True) media_type = indexes.CharField(model_attr='media_type', null='None', faceted=True) #advance search @@ -89,7 +86,20 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): return MediaCollection def prepare_location(self, obj): - return "%s" % obj.countries() + collec_location = [] + for item in obj.items.all(): + location = [] + location.append(item.location) + location_alias = LocationAlias.objects.filter(location__name=item.location) + location_rela = LocationRelation.objects.filter(location__name=item.location) + for rela in location_rela: + location.append(rela.ancestor_location) + for alias in location_alias: + location.append(alias) + for name in location: + if name and not name in collec_location: + collec_location.append(name) + return "%s" % collec_location def prepare_ethnic_group(self, obj): return "%s" % obj.ethnic_groups()