我试图弄清楚如何使用 Django-reversion 跟踪 Django 中外键关系的更改。
简而言之,我正在尝试建模 a Codelist,其中包含仅属于一个 Codelist 的Codes 。这可以使用外键进行建模,如下所示:
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")
Run Code Online (Sandbox Code Playgroud)
此外,编辑代码的唯一方法是在通过其代码列表访问的管理站点中使用内联表单。出于所有意图和目的,代码属于代码列表,因为它们应该......
除非涉及到回归。
我正在使用reversion.middleware.RevisionMiddleware来跟踪所有编辑更改,因为有一些用于编辑代码的非管理表单。
我想要的是当我看到代码列表的历史时,它也应该更改代码,但我无法在Django-reversion API 中弄清楚。问题在于 API 涵盖了跟踪代码和查看代码列表的更改,而不是通过遵循相反的关系来解决问题。
有谁知道如何做到这一点?
小智 6
它没有很好的文档记录 它的文档很好,我只是找不到它,但是您可以将反向关系添加为要遵循的字段,如下所示:
reversion.register(CodeList, follow=["codes"])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1470 次 |
| 最近记录: |