X-Git-Url: https://git.0d.be/?p=django-panik-combo.git;a=blobdiff_plain;f=panikombo%2Fviews.py;fp=panikombo%2Fviews.py;h=9fc516d418980dcd049cc1e69a393a464d99dcff;hp=0000000000000000000000000000000000000000;hb=168b4fc8814408ed95c02293d3dce5a76a789f1c;hpb=f2d1f1e3336541e444bf259fc5d6de0ae498431f diff --git a/panikombo/views.py b/panikombo/views.py new file mode 100644 index 0000000..9fc516d --- /dev/null +++ b/panikombo/views.py @@ -0,0 +1,19 @@ +from django.db.models import Q +import django_select2 + +from emissions.models import SoundFile + +class SoundFilesView(django_select2.views.Select2View): + def get_results(self, request, terms, page, context): + queryset = SoundFile.objects.all() + for term in terms.split(): + queryset = queryset.filter(Q(title__icontains=term) | + Q(episode__title__icontains=term) | + Q(episode__emission__title__icontains=term)) + def fmt(soundfile): + return '%s - %s - %s' % (soundfile.episode.emission.title, + soundfile.episode.title, + soundfile.title or soundfile.id) + return ('nil', False, ((x.id, fmt(x)) for x in queryset.select_related())) + +soundfiles = SoundFilesView.as_view()