Несколько параметров __range в Django
Учусь Django создавая Интернет-магазин. Не могу понять, как сделать несколько диапазонов фильтрации. Вот код:
class Shop(ListView):
model = Product
template_name = 'app/shop.html'
context_object_name = 'shop'
paginate_by = 9
def get_queryset(self):
qs = Product.objects.filter(draft=False)
if 'find' in self.request.GET:
qs = qs.filter(name__icontains=self.request.GET.get('find'))
if 'price' in self.request.GET:
r = [('30', '70'), ('71', '100')]
qs = qs.filter(price__range=('30', '70'))
if 'cat' in self.request.GET:
qs = qs.filter(categories__slug__in=self.request.GET.get('cat').split(','))
return qs
r - это список диапазонов поиска. Нужно, чтобы qs = qs.filter(price__range=('30', '70')) искал не только в диапазоне 30-70, но и в диапазоне 71-100. Это нужно для GET-запросов. Это жестко прописанный кусок кода, но в проекте это должно работать так, что если я прописываю ?price=30-70,71-100, то должно выводить 2 этих диапазона. Для одного диапазона все работает нормально