Я хотел бы создать функцию для своего приложения Django, аналогичную «Последним действиям» администратора Django, чтобы хранить информацию об истории в других моих моделях.
Например, у меня есть две модели с именами Book и Author. Я хочу иметь третью модель, которая хранит информацию о том, какое действие было выполнено над данным объектом в модели (добавление, изменение, удаление и т. д.), кем и когда.
Кто, когда и действие легко, я просто не уверен, как хранить информацию о том, над каким объектом было выполнено действие.
Моя первоначальная идея состояла в том, чтобы иметь модель «Транзакции», которая хранила бы эту информацию, и обе мои модели «Книга» и «Автор» могли бы иметь к ней отношение ForeignKey. Однако, если я удаляю данную книгу или автора, то история его транзакций также удаляется, и у меня нет записи о том, что этот объект действительно был удален.
Я думал о других возможных решениях, но я подумал, что сначала попрошу здесь более опытных мнений. Как мне подойти к этой проблеме и какие есть разумные решения?
Спасибо!