Dynamic OR’d Queryset creation with Django
Posted by Elf Sternberg as Uncategorized
For multi-select boxes where you have a list of things you want to filter on, and you want the queryset returned to be an OR’d set.
qset = Q(mode__exact=modes) if len(modes) > 1: for mode in modes[1:]: qset = qset | Q(mode__exact=mode) r = Responses.objects.filter(qset)
Now, I need to figure out how to do this as a list comprehension!
For extra coolness, you can see what SQL you’re generating: