0

我正在使用 django-simple-history 来跟踪模型上某些字段的更改。

我的简化模型设置:

class Collection(models.Model):
    description = models.TextField()
    # ...
    history = simple_history.HistoricalRecords()


class Item(models.Model):
    content = models.TextField()
    collection = models.ForeignKey(Collection, related_name="items", on_delete=models.CASCADE)
    # ...
    history = simple_history.HistoricalRecords()

现在理想情况下,我希望看到Item变化反映在Collection.history.

例如,如果Item将一个新条目添加到集合中,我希望在Collection.history.

这有可能吗?

编辑:关于我想做的更多细节:基本上每当内部发生Collection变化时,我都希望有一个快照能够进行差异。

例如,description更改了,然后我可以简单地在两个快照之间进行比较,看看发生了什么变化。这适用于简单历史。

现在不起作用的是,每当Item更改/添加/删除 an 时,新状态都不会反映在 my 的历史记录中Collection。考虑:

c = Collection.objects.get(id=123)
item = Item.objects.get(id=456)

c.items.add(item)

如果我检查c.history,据我所知,没有办法知道它item已添加到集合中。

4

0 回答 0