Полиморфные таблицы. У всех есть один FK (например b) но к разным таблицам.
О, интересно. У меня вот есть задачка: есть базовая таблица и есть модели в подключаемых аппах, которые связаны one-to-one с базовой. При этом набор апп-расширений может быть разный и базовая модель ничего не знает про расширения. Хочется делать обход по базовой модели и получать некоторые данные, возвращаемые методом связанной модели из аппы-расширения.
У вас не такой случай?