Я думаю, что вам лучше всего использовать вашу собственную таблицу / модель-посредник с ее собственными общими внешними ключами и написать собственный менеджер или метод для получения нужной вам информации. Текущая реализация ManyToManyField не имеет этой функциональности, и вам, вероятно, будет трудно заставить ее работать как таковой.
Определенно следует подать заявку, если ее еще нет, чтобы узнать, что, по мнению разработчиков django, следует сделать в этой ситуации. :)