From: Guillaume Pellerin Date: Tue, 16 Apr 2013 12:29:50 +0000 (+0200) Subject: add alias to item instrument search X-Git-Tag: 1.4.5~25 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=4c2734c4d48156e7dcc04eceb4dc7261ec6c8284;p=telemeta.git add alias to item instrument search --- diff --git a/telemeta/models/query.py b/telemeta/models/query.py index 07fb1f16..0c6632d9 100644 --- a/telemeta/models/query.py +++ b/telemeta/models/query.py @@ -205,12 +205,13 @@ class MediaItemQuerySet(CoreQuerySet): def by_instrument(self, name): "Find items by instrument" - from telemeta.models.instrument import Instrument + from telemeta.models.instrument import Instrument, InstrumentAlias from telemeta.models.media import MediaItemPerformance instruments = Instrument.objects.filter(name__icontains=name) + aliases = InstrumentAlias.objects.filter(name__icontains=name) perf = [] - if instruments: - performances = MediaItemPerformance.objects.filter(instrument__in=instruments) + if instruments or aliases: + performances = MediaItemPerformance.objects.filter(Q(instrument__in=instruments) | Q(alias__in=aliases)) for performance in performances: perf.append(performance) return self.filter(performances__in=perf).distinct()