def create_response(self): """ Generates the actual HttpResponse to send back to the user. """ facets = [] try: raw_facets = self.results.facet_counts() if self.results else None tmp_facets = {} if raw_facets is not None: for name, length in raw_facets['fields']['django_ct']: if length > 0: results = self.results.narrow( 'django_ct:%s' % name ) name = get_model_short_name( name ) tmp_facets[name] = { 'name': name, 'count': length, 'results': results[:self.limit] if self.limit else results } # sort by default order for model, name in model_choices(): if tmp_facets.has_key( model ): facets.append( tmp_facets[model] ) except: # on error set empty result pass context = { 'query': self.query, 'model': ''.join( self.form.cleaned_data['t'] ) if self.form.is_valid() else '', 'form': self.form, 'full': self.limit is None, 'facets': facets } context.update( self.extra_context() ) return render_to_response( self.template, context, context_instance=self.context_class( self.request ) )
def to_verbose_name(value): for key, name in model_choices(): if key == value: return name return value # probably never