2013-09-29 70 views
0

我正在尋找使近期歷史記錄框顯示模型的最近3次更改。我知道可以撥打model.history.most_recent(),但我需要的是第二和第三個最近的項目。如何獲得這些模型?此外,如何通過這個新模型實例來查看發生的變化?django-simple-history中的倒數第二項

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

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

回答

1

正如歷史上所有看起來像一個列表:

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

應該得到的最後3,但它看起來像它使用不支持負指標的迭代器。您可能會使用類似的東西:

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

但您可能希望按日期查看以限制對最近的更改。

+0

這將返回以下錯誤:'回溯(最近通話最後一個): 文件 「」,1號線,在 文件」 .../VENV/local/lib目錄/ python2.7/site-packages中/ django/db/models/query.py「,第198行,在__getitem__ 」不支持負面索引。「 AssertionError:不支持負索引.' – mh00h

+0

'model.history.all()'給出了什麼? –

+0

''。 ..(剩餘元素被截斷)...']' – mh00h