From: Kaltar5679 Date: Wed, 13 May 2015 13:42:56 +0000 (+0200) Subject: Optimize the search_indexes and delete useless comment X-Git-Tag: 1.6a^2~15^2~55 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=d2beb88e31c73e462f6d5ae84a4125a69509e057;p=telemeta.git Optimize the search_indexes and delete useless comment --- diff --git a/telemeta/forms/haystack_form.py b/telemeta/forms/haystack_form.py index 178903eb..d3c1a21b 100644 --- a/telemeta/forms/haystack_form.py +++ b/telemeta/forms/haystack_form.py @@ -107,8 +107,7 @@ class HayAdvanceForm(SearchForm): year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.Select(choices=list_publish_year())) year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.Select(choices=list_publish_year())) - #year_published_from = forms.IntegerField(required=False, label=('Year published from'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'})) - #year_published_to = forms.IntegerField(required=False, label=('Year published to'), widget=forms.TextInput(attrs={'type': 'search', 'placeholder': 'YYYY', 'pattern': '[0-9]{4}'})) + viewable_choice = (('1', 'no preference'), ('2', 'fichier dans le player + full'), ('3', 'fichier dans le player(j\'ai un compte)')) viewable = forms.CharField(required=False, label=('Viewable'), widget=forms.RadioSelect(choices=viewable_choice), initial=1) diff --git a/telemeta/search_indexes.py b/telemeta/search_indexes.py index 624f2d85..c5d29ec9 100644 --- a/telemeta/search_indexes.py +++ b/telemeta/search_indexes.py @@ -16,8 +16,8 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): #advance search title = indexes.NgramField(model_attr='title') code = indexes.NgramField(model_attr='code', default='') - location = indexes.NgramField(model_attr='location__name', default='', null='None') - ethnic_group = indexes.NgramField(model_attr='ethnic_group', default='') + location = indexes.CharField(model_attr='location__name', default='', null='None') + ethnic_group = indexes.CharField(model_attr='ethnic_group', default='') instruments = indexes.NgramField(default='') collectors = indexes.NgramField(model_attr='collector', default='') recorded_from_date = indexes.DateField(model_attr='recorded_from_date', null='None') @@ -47,7 +47,7 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): return "%s" % location def prepare_instruments(self, obj): - item = MediaItemPerformance.objects.all().filter(media_item__title__contains=obj.title) + item = MediaItemPerformance.objects.all().filter(media_item__exact=obj) instruments = [] for material in item: instruments.append(material.instrument) @@ -63,7 +63,7 @@ class MediaItemIndex(indexes.SearchIndex, indexes.Indexable): class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): - text = indexes.NgramField(document=True, use_template=True) + text = indexes.CharField(document=True, use_template=True) 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) @@ -74,8 +74,8 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): #advance search title = indexes.NgramField(model_attr='title') code = indexes.NgramField(model_attr='code', default='') - location = indexes.NgramField(default='') - ethnic_group = indexes.NgramField(default='') + location = indexes.CharField(default='') + ethnic_group = indexes.CharField(default='') instruments = indexes.NgramField(default='') collectors = indexes.NgramField(model_attr='collector', default='') recorded_from_date = indexes.DateField(model_attr='recorded_from_year', null='None') @@ -111,7 +111,7 @@ class MediaCollectionIndex(indexes.SearchIndex, indexes.Indexable): instruments = [] items = obj.items.all() for item in items: - materials = MediaItemPerformance.objects.all().filter(media_item__title__exact=item.title) + materials = MediaItemPerformance.objects.all().filter(media_item__exact=item) for material in materials: if material.instrument and not material.instrument in instruments: instruments.append(material.instrument)