В общем-то всё это переписалось вот так, под m2m
https://gitlab.com/-/snippets/2131366По ощущениям архитектура теперь кажется ещё более сложной (мб из отсутствия опыта работы с m2m связями вообще), но это работает.
Да и времени прилично убил на освоении нового инструмента, поэтому так и оставлю. А то это переходит в разряд "целый день думать над тем как называть переменную". Типо я же получаю нужные данные? Получаю? Ну и вот, чего ещё надо