Несколько параметров __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 этих диапазона. Для одного диапазона все работает нормально

Вернуться на верх