我有 2 个模型:
Model1(models.Model):
and
Model2(models.Model):
fk = models.ForeignKey("Model1", on_delete=models.CASCADE)
image = models. ImageField(…..)
我使用 Reversion 应用程序来恢复所有已删除的数据,并且两个模型都在版本管理员的管理员中注册。它可以工作,但是当我恢复 model1 的任何条目时,它不会从 Model2 的 Imagefield 恢复实际文件。这是合理的,因为它们被 CASCADE 删除了。如果我设置 on_delete = DO_NOTHING,则会出现完整性错误,因为 Postgree 支持跨表完整性保护。那也是合理的。如果我使用 SET_NULL ,那么 Reversion 将无法正确恢复图像,因为它显然会丢失外键 ID。问题是如何通过 Reversion 在 Model1 的数据中恢复 Model2 的关联图像,或者如果我使用 CASCADE 之外的东西以便不从文件系统中删除图像,则保持 Model2 图像的外键 ID 不变?
谢谢!