У меня есть 2 модели:
Model1(models.Model):
and
Model2(models.Model):
fk = models.ForeignKey("Model1", on_delete=models.CASCADE)
image = models. ImageField(…..)
Я использую приложение Reversion для восстановления всех удаленных данных, и обе модели зарегистрированы в admin с версией admin. Это работает, но когда я восстанавливаю любую запись модели 1, она не восстанавливает реальные файлы из поля изображения модели 2. Это разумно, потому что они удалены CASCADE. Если я установлю on_delete = DO_NOTHING, это вызовет ошибку целостности, поскольку Postgree поддерживает защиту целостности между таблицами. Это также разумно. Если я использую SET_NULL, то Reversion не сможет правильно восстановить изображения, так как он, очевидно, потеряет идентификатор внешней ключа.
Вопрос в том, как восстановить связанные изображения Model2 в данных Model1 с помощью Reversion или, в качестве альтернативы, сохранить идентификатор внешнего ключа для изображений Model2, если я использую что-то вне CASCADE, чтобы не удалять изображения из файловой системы?
Спасибо!