идея прикольная;
полностью вопрос не закроет, но явно может неплохо улучшить производительность при небольших вложениях времени
Жаль m2m не покрывает и, самое главное, это все не работает, если у тебя есть еще подфильтрация над FK полем, типа
obj.related_field.filter(...).first(), например
но для примитивненьких CRUD может очень даже зайдет
Я к тому, что м2м это тот же фк