From ecdf4882c3b8d487d177e1bbf33e24ee5bd001b2 Mon Sep 17 00:00:00 2001 From: olivier <> Date: Mon, 15 Feb 2010 11:47:10 +0000 Subject: [PATCH] fix searching by ethnic group --- telemeta/models/enum.py | 1 + telemeta/models/query.py | 8 ++++---- .../telemeta_default/search_criteria.html | 2 +- .../telemeta_default/search_results.html | 9 +++++---- telemeta/web/base.py | 20 +++++++++++-------- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/telemeta/models/enum.py b/telemeta/models/enum.py index 619a11d1..4d33bd10 100644 --- a/telemeta/models/enum.py +++ b/telemeta/models/enum.py @@ -135,6 +135,7 @@ class EthnicGroup(ModelCore): class Meta(MetaCore): db_table = 'ethnic_groups' + verbose_name = _('population / social group') def __unicode__(self): return self.name diff --git a/telemeta/models/query.py b/telemeta/models/query.py index 640116c8..a3f0e08d 100644 --- a/telemeta/models/query.py +++ b/telemeta/models/query.py @@ -36,6 +36,7 @@ from django.db.models import Q from telemeta.models.core import * from telemeta.util.unaccent import unaccent, unaccent_icmp +from telemeta.models.enum import EthnicGroup import re class MediaItemQuerySet(CoreQuerySet): @@ -154,9 +155,8 @@ class MediaItemQuerySet(CoreQuerySet): return qs def ethnic_groups(self): - return self.filter(ethnic_group__isnull=False) \ - .values_list('ethnic_group__name', flat=True) \ - .distinct().order_by('ethnic_group__name') + ids = self.filter(ethnic_group__isnull=False).values('ethnic_group'); + return EthnicGroup.objects.filter(pk__in=ids).order_by('name') class MediaItemManager(CoreManager): "Manage media items queries" @@ -227,7 +227,7 @@ class MediaCollectionQuerySet(CoreQuerySet): def by_ethnic_group(self, group): "Find collections by ethnic group" - return self.filter(items__ethnic_group__name=group).distinct() + return self.filter(items__ethnic_group=group).distinct() def by_change_time(self, from_time=None, until_time=None): "Find collections between two dates" diff --git a/telemeta/templates/telemeta_default/search_criteria.html b/telemeta/templates/telemeta_default/search_criteria.html index d81df268..77d9ce12 100644 --- a/telemeta/templates/telemeta_default/search_criteria.html +++ b/telemeta/templates/telemeta_default/search_criteria.html @@ -34,7 +34,7 @@ $(document).ready(function () {

- +