Предотвращение удаления с помощью django-simple-history

Я начал использовать django-simple-history, чтобы сохранить историю, но когда я удаляю объект (по крайней мере, со страницы администратора), я замечаю, что он исчез навсегда.

Я полагаю, что я мог бы создавать теги и "скрывать" объекты вместо удаления в моих представлениях, но было бы неплохо, если бы существовал более простой способ с django-simple-history, который также охватывал бы операции администратора.

1 ответ

Решение

Когда объекты удаляются, это удаление также записывается в историю. Объект больше не существует, но его история в безопасности.

Если вы просматриваете свою базу данных, вы должны найти таблицу с именем:

[app_name]_history[model_name] 

Содержит строку с последним состоянием объекта. Эта строка также содержит дополнительные столбцы: history_id, history_change_reason, history_date, history_type, Для удаления, history_type будет установлен на "-" (знак минус).

Зная это, можно отменить удаление программно, но не через администратора Django. Посмотрите документацию django-simple-history, чтобы узнать, как это сделать программно.

Надеюсь, это поможет!

Другие вопросы по тегам