Как можно использовать журналы "истории" изменений Django Admin для хранения копий данных?
Журналы "истории" изменений администратора Django
Как вы знаете, в боковой панели Django Admin отображается список APP > MODELS. Когда вы нажимаете на МОДЕЛЬ, в области фокуса отображается список ЗАПИСЕЙ. Нажмите на ЗАПИСЬ, тогда область фокуса покажет одну ЗАПИСЬ в виде формы, которую вы можете изменить.
В правом верхнем углу формы изменений находится серая кнопка в форме таблетки с надписью "HISTORY" с такими записями, как:
Dec. 9, 2021, 4:38 p.m. me Changed Table price headers.
Feb. 26, 2022, 2:06 p.m. me Changed Table date headers.
Мне нужна копия данных записи перед каждым изменением. Позже мне нужно запросить базу данных Django и - в данном примере - получить версию записи до изменения 26 февраля.
Как можно использовать журналы "истории" изменений Django Admin для хранения копии данных?
Не для каждой модели Django
Остальные Модели и Записи в Django Admin должны вести себя нормально. У меня есть только несколько моделей, где мне нужен журнал истории и данные .
Не путать с историей модели
При обсуждении этого вопроса с другими разработчиками Django мне приходится объяснять, что история мне нужна для данных записи, а не для модели. Существуют сторонние пакеты Django, которые делают другое, что мне не нужно.
Зачем мне это нужно?
На моем Django-сайте я запускаю скрипт, который требует настроек. Я запрашиваю не связанную с Django-базу данных MongoDB, в которой я храню копии отчетов, созданных несколькими сторонними поставщиками. Чтобы помочь мне управлять и использовать эти данные, мне нужна запись заголовков или схемы каждого отчета.
Между данными, которые я храню в Mongo, и схемой этих данных существует тесная связь. По этой причине я храню эти заголовки как "настройки" в базе данных Django. Мне было очень удобно использовать страницу Django Administration page для обновления этих настроек схемы.
Однако время от времени сторонний пользователь переименовывает заголовок или добавляет новую колонку в свой отчет. Когда это происходит, мне приходится обновлять запись настроек в Django Admin. В настоящее время у меня нет доступа к историческим схемам в моем проекте Django, и мне приходится писать пользовательские скрипты для доступа к историческим данным
Мое желание - хранить каждую версию этих записей, чтобы я мог проверить журнал истории изменения настроек. Когда для запрашиваемых записей потребуется историческая схема, я смогу запросить базу данных Django, чтобы вспомнить действительные заголовки для диапазона дат
Вы пробовали django-simple-history? У меня работает отлично.