можно реализовать лучше, с лучшим масштабированием в зависимости от количества параметров
та пАйдет и так - Питон же: явное лучше неявного ))))))))
но если чо, общий подход такой: всегда есть параметры по умолчанию - вот ты из них конструируешь кверисет, и если есть not None прибывшие POST/GET параметры - в кверисете заменяешь
это позволяет гибко тюнить - например тянуть не all, а all не старше 1 года, или там не больше 1 млн или 1 тысячи айтемов и т.д. и т.п. - т.е. помимо приходящих извне часть параметров уже задано
секьюрити там всякое попутно - входящие обрабатываешь на годноту и применимость и все такое прочее