(вариант когда все параметры обязательны https://pastebin.com/0XRV6ya5) кроме как забирать все объекты в память, а потом уже при наличии параметра фильтровать? Такой вариант не очень подходит из-за количества объектов
https://pastebin.com/JFsVugcH вот нужный функционал, но нужна оптимизация по используемой памяти
Тут можно использовать https://django-filter.readthedocs.io/ , чтобы не писать свою магию.
Обсуждают сегодня