diff -r e6483309fa52 -r e821a1ae9773 web/hdalab/views/ajax.py --- a/web/hdalab/views/ajax.py Wed Feb 29 16:14:01 2012 +0100 +++ b/web/hdalab/views/ajax.py Fri Mar 02 10:48:26 2012 +0100 @@ -97,7 +97,6 @@ max_tag_order = request.GET.get('mto', 12) content_count = request.GET.get('contentcount', 12) tag_count = request.GET.get('tagcount', 30) - cont_count = 0 matchtagids = [] @@ -156,22 +155,23 @@ qs = DatasheetExtras.objects.select_related('insee').filter(datasheet__in = contentids) for dse in qs: - contenus[dse.datasheet.id]['coords'] = {'city_name': dse.insee.city_name, 'latitude': dse.insee.latitude, 'longitude': dse.insee.longitude} + contenus[dse.datasheet_id]['coords'] = {'city_name': dse.insee.city_name, 'latitude': dse.insee.latitude, 'longitude': dse.insee.longitude} qs = TaggedSheet.objects.select_related('tag').filter(datasheet__in = contentids, order__lte = max_tag_order).order_by('order') for ts in qs: match_tag = ts.tag.id in matchtagids - contenus[ts.datasheet.id]['tags'].append({'id': ts.tag.id, 'label':ts.tag.label, 'order':ts.order, 'match': match_tag }) + contenus[ts.datasheet_id]['tags'].append({'id': ts.tag.id, 'label':ts.tag.label, 'order':ts.order, 'match': match_tag }) if match_tag: - contenus[ts.datasheet.id]['score'] += 2*max_tag_order - ts.order + contenus[ts.datasheet_id]['score'] += 2*max_tag_order - ts.order if contentlist is None: contenus = sorted(contenus.values(),key=lambda e: -e['score']) else: contenus = contenus.values() - + tagqs = tagqs.annotate(nb=Count('datasheet')).order_by('-nb')[:tag_count] + tags = [{'id': tag.id, 'label': tag.label, 'score': tag.nb} for tag in tagqs] countryqs = countryqs.annotate(nb=Count('includes__tag__taggedsheet'))