У меня есть приложение Django, в котором я разрешаю пользователю импортировать CSV-файл с контактными данными (номер участника, имя, фамилия и т. Д.).
Когда они импортируют файл, приложение проверяет базу данных на соответствие записи и либо: 1) вставляет новую запись, если совпадения не существует, либо 2) обновляет существующие данные новыми данными.
Мой вопрос: : как лучше всего реализовать функцию отмены с помощью Django или прямого Python, чтобы пользователь мог отменить операцию импорта и вернуть несколько записей в их исходное состояние?
Мои первоначальные мысли - создать такую таблицу (псевдокод):
Table HISTORY
unique_id
record_affected_id
old_value
new_value
Тогда, если пользователь нажимает "Отменить", я могу найти уникальный_id, связанный с их транзакцией, и установить для каждой записи, затронутой этой транзакцией, old_value.
Мне интересно, есть ли более простой способ сделать это, которого мне не хватает, или у кого-то есть опыт с подобным.