return self.filter(Q(dates_enregistr__icontains=pattern)
| Q(annee_enreg__icontains=pattern))
+ def by_title(self, pattern):
+ return self.filter(Q(_title__icontains=pattern)
+ | Q(collection__title__icontains=pattern))
+
class MediaItemManager(CoreManager):
"Manage media items queries"
def by_recording_date(self, *args, **kwargs):
return self.get_query_set().by_recording_date(*args, **kwargs)
+ def by_title(self, *args, **kwargs):
+ return self.get_query_set().by_title(*args, **kwargs)
+
def list_ethnic_groups(self):
"Return a list of all ethnic groups"
def search(self, request, type = 'items'):
"""Perform a search through collections and items metadata"""
- collections = MediaCollection.objects
- items = MediaItem.objects
+ collections = MediaCollection.objects.all()
+ items = MediaItem.objects.all()
input = request.REQUEST
criteria = {}
'pattern': lambda value: (
collections.quick_search(value),
items.quick_search(value)),
+ 'title': lambda value: (
+ collections.filter(title__icontains=value),
+ items.by_title(value)),
'country': lambda value: (
collections.by_country(value),
items.filter(etat = value)),