extend many to many support in qdjango

This is primarily meant to begin the discussion about advanced many to many support in qdjango, so we can do review in the PR as well as discuss pros and cons of this approach.