Если элементы селектов могут произвольно комбинироваться между собой, т.е. каждый с каждым, то все очень просто, получаем данные формы, не важно как, простой или ajax-запрос, комбинируем все элементы, затем отправляем запрос для каждой комбинации. кусок кода чтобы понять принцип:
print([[x, y, z] for x in range(3) for y in range(3) for z in range(3)])
# ну или на привычных циклах
res = []
for x in range(3):
for y in range(3):
for z in range(3):
res.append([x, y, z])
print(res)
Если же элементы комбинируются по определенным правилам, нужно строить какой-нибудь граф комбинаций.