I want to show rating and price range in facet search however the rating is not displayed and price range is displayed but is disabled. What else should i have to do to show them in facet search?
Here is the configuration <https://lh3.googleusercontent.com/-m5tn2mykPzk/Wpo3XKhOpeI/AAAAAAAAAAM/FWJqhfyf1IkHKR14rZwN2gamC8brun3lwCLcBGAs/s1600/Screen%2BShot%2B2018-03-03%2Bat%2B11.33.25%2BAM.png> FURNITURE_SEARCH_FACETS = { 'fields': OrderedDict([ ('product_class', {'name': _('Type'), 'field': 'product_class'}), ('rating', {'name': _('Rating'), 'field': 'rating'}), ]), 'queries': OrderedDict([ ('price_range', { 'name': _('Price range'), 'field': 'price', 'queries': [ # This is a list of (name, query) tuples where the name will # be displayed on the front-end. (_('0 to 20000'), u'[0 TO 20000]'), (_('20000 to 40000'), u'[20000 TO 40000]'), (_('40000 to 60000'), u'[40000 TO 60000]'), (_('60000+'), u'[60000 TO *]'), ] }), ]), } class ProductIndex(indexes.SearchIndex, indexes.Indexable): # Search text text = indexes.CharField( document=True, use_template=True, template_name='search/indexes/product/item_text.txt') name = indexes.EdgeNgramField(model_attr='name', null=True) name_exact = indexes.CharField(model_attr='name', null=True, indexed= False) # Fields for faceting product_class = indexes.CharField(null=True, faceted=True) category = indexes.MultiValueField(null=True, faceted=True) price = indexes.FloatField(null=True, faceted=True) num_in_stock = indexes.IntegerField(null=True, faceted=True) rating = indexes.IntegerField(null=True, faceted=True) # Spelling suggestions suggestions = indexes.FacetCharField() date_created = indexes.DateTimeField(model_attr='created_at') date_updated = indexes.DateTimeField(model_attr='updated_at') _strategy = None def get_model(self): return get_model('catalogue', 'Product') def index_queryset(self, using=None): # Only index browsable products (not each individual child product) return self.get_model().browsable.order_by('-date_updated') def read_queryset(self, using=None): return self.get_model().browsable.base_queryset() def prepare_product_class(self, obj): return obj.get_product_class().name def prepare_category(self, obj): categories = obj.categories.all() if len(categories) > 0: return [category.full_name for category in categories] # def prepare_rating(self, obj): # if obj.rating is not None: # return int(obj.rating) # Pricing and stock is tricky as it can vary per customer. However, the # most common case is for customers to see the same prices and stock levels # and so we implement that case here. def get_strategy(self): if not self._strategy: self._strategy = Selector().strategy() return self._strategy def prepare_price(self, obj): strategy = self.get_strategy() result = None if obj.is_parent: result = strategy.fetch_for_parent(obj) elif obj.has_stockrecords: result = strategy.fetch_for_product(obj) if result: if result.price.is_tax_known: return result.price.incl_tax return result.price.excl_tax def prepare_num_in_stock(self, obj): strategy = self.get_strategy() if obj.is_parent: # Don't return a stock level for parent products return None elif obj.has_stockrecords: result = strategy.fetch_for_product(obj) return result.stockrecord.net_stock_level def prepare(self, obj): prepared_data = super(ProductIndex, self).prepare(obj) # We use Haystack's dynamic fields to ensure that the title field used # for sorting is of type "string'. if is_solr_supported(): prepared_data['name_s'] = prepared_data['name'] # Use title to for spelling suggestions prepared_data['suggestions'] = prepared_data['text'] return prepared_data <https://lh3.googleusercontent.com/-m5tn2mykPzk/Wpo3XKhOpeI/AAAAAAAAAAM/FWJqhfyf1IkHKR14rZwN2gamC8brun3lwCLcBGAs/s1600/Screen%2BShot%2B2018-03-03%2Bat%2B11.33.25%2BAM.png> Only the product_class works for now. Can anyone from the community help me at this, please? -- https://github.com/tangentlabs/django-oscar http://django-oscar.readthedocs.org/en/latest/ https://twitter.com/django_oscar --- You received this message because you are subscribed to the Google Groups "django-oscar" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-oscar+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/django-oscar. To view this discussion on the web, visit https://groups.google.com/d/msgid/django-oscar/ac123cc9-81fb-4792-85bd-4faa8a5cc826%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.