From 9d0b7f1f07359eb435af4322a0e01c1d5199cf9d Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 16 Apr 2013 00:14:10 +0200 Subject: [PATCH] cleanup Conflicts: telemeta/models/query.py --- telemeta/models/query.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/telemeta/models/query.py b/telemeta/models/query.py index 0fd1df34..12aa7e10 100644 --- a/telemeta/models/query.py +++ b/telemeta/models/query.py @@ -206,13 +206,14 @@ class MediaItemQuerySet(CoreQuerySet): def by_instrument(self, name): "Find items by instrument" from telemeta.models.instrument import Instrument - instruments = Instrument.objects.filter(name=name) - items = [] - for instrument in instruments: - performances = instrument.performances.all() + from telemeta.models.media import MediaItemPerformance + instruments = Instrument.objects.filter(name__contains=name) + perf = [] + if instruments: + performances = MediaItemPerformance.objects.filter(instrument__in=instruments) for performance in performances: - items.append(performance.media_item) - return items + perf.append(performance) + return self.filter(performances__in=perf).distinct() class MediaItemManager(CoreManager): "Manage media items queries" -- 2.39.5