How to chain unknown number of Q expressions with OR relationship?

See the responses at Store Q()-filter terms in Database? - #2 by KenWhitesell and Reusable Queries with Q - #2 by KenWhitesell for the key concepts here.

As long as you can obtain the proper data from those incoming filters, you can build the queries you need.

However, be aware that dynamically constructing a query from submitted data is the very definition of a SQL injection vulnerability, and that you must never directly trust anything being submitted by a browser without strong validation. (Read the complete thread at the first link to get an idea of one of the potential issues.)