]> git.parisson.com Git - telemeta.git/commitdiff
cleanup
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 15 Apr 2013 22:14:10 +0000 (00:14 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Tue, 16 Apr 2013 07:16:19 +0000 (09:16 +0200)
Conflicts:
telemeta/models/query.py

telemeta/models/query.py

index 0fd1df3476cff3abbd6b126dfaac322b22860d5d..12aa7e10c088edb0e2702d5bfc8be1dd5178aab7 100644 (file)
@@ -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"