跟踪 django 还原中外键的反向关系



我试图弄清楚如何使用Django-reversion跟踪Django中外键关系的变化。

简而言之,我正在尝试对一个Codelist进行建模,其中包含属于一个代码列表的Code。这可以使用外键进行建模,如下所示:

class CodeList(models.Model):
    name = models.CharField(max_length=100)
class Code(models.Model):
    value = models.PositiveIntegerField(max_length=100)
    meaning = models.CharField(max_length=100)
    codelist = models.ForeignKey(CodeList,related_name="codes")

此外,编辑代码的唯一方法是使用管理站点中的内联表单,通过其代码列表访问。出于所有意图和目的,代码属于代码列表,因为它们应该......

除非涉及到回归。

我正在使用reversion.middleware.RevisionMiddleware来跟踪所有编辑更改,因为有一些用于编辑代码的非管理员表单。

我想要的是,当我看到代码列表的历史记录时,它也应该更改为代码,但我无法在 Django 还原 API 中弄清楚这一点。问题在于 API 涵盖跟踪代码和查看代码列表的更改,而不是相反,通过遵循反向关系。

有谁知道如何做到这一点?

它没有很好的文档记录 它有很好的文档,我只是找不到它,但你可以添加反比关系作为要遵循的字段,如下所示:

reversion.register(CodeList, follow=["codes"])

最新更新