django-simple-history中倒数第二个项目

时间:2013-09-29 05:35:11

标签: python django django-models

我正在寻找一个最近的历史记录框,显示模型的最后3个更改。我知道可以拨打model.history.most_recent(),但我需要的是最近的第2和第3项。如何获得对这些模型的访问权限?此外,如何循环通过此新模型实例以查看已发生的更改?

如果有更好的应用程序可供使用,请通知我。

文档:https://django-simple-history.readthedocs.org/en/latest/advanced.html#locating-past-model-instance

1 个答案:

答案 0 :(得分:1)

历史记录看起来像一个列表:

model.history.all()[:-3]

应该得到最后3个,但看起来它使用的迭代器不支持负索引。你可以使用类似的东西:

last3 = []
for h in model.history.all:
   if len(last3) > 2:
       del last3[0]
   last3.append[h]

但您可能希望按日期选择以限制对最近的更改。