Я бы предложил использовать такой инструмент, как django-simple-history
[PiPy] . Вам необходимо добавить промежуточное программное обеспечение и определить HistoricalRecords()
для моделей, которые вы хотите отслеживать.
Будет создана дополнительная таблица для каждой модели, которую вы будете отслеживать, в которой будут храниться изменения (дополнения, обновления, удаления) вместе с пользователем, который сделал обновление, отметкой времени и необязательной причиной.
Например, вы можете запросить состояние объекта в истории, например:
from datetime import datetime
my_model_object<b>.history.as_of(</b>datetime(2019, 7, 2, 7, 56)<b>)</b>
для получения my_model_object
в состоянии, в котором он находился 2-7-2019 7: 56: 00.