Так как вы и поняли, так и представляйте.
Модель в джанге не означает бизнес логику, она означает именно по сути таблицу в БД. По мимо вашего варианта, в БД спокойно могут быть таблицы со списками, к примеру городов, стран, валют, цветов или характеристик.
Единственное что можете джангой ещё сделать, вроде бы не очевидного. Это переопределить метод Save() у модели А и проверять. Если объект уже есть (то есть выполняется обновление объекта, а не создание), то перед сохранением, старые значения сбросить в вашу "ChangeOptions" которая состоит из полей(связь на А, старое_значение и ДатаТайм).