2015-09-16 30 views
1

我有一個django模型類,例如django模型對象屬性跟蹤更新/編輯/按日期更改

class BankAccount (model.Models): 
    value = models.PositiveSmallIntegerField(default=0) 

我想編輯此值並每週對其進行編輯,例如,

WK1:值= 1 WK2:值= 30 ... WK 50:價值= 70

問題:

我想保留價值的變化軌跡,並能顯示前幾周的數值:

eg今天是第40周,價值= 60,我想檢查一下在第30周,第20周,第10周等的價值...

如何在django中做到這一點?

我現在唯一的想法是要麼爲每隔一週創建一個新對象並保留所有對象或使用現成的應用程序跟蹤模型中的更改?

有沒有人有更好的主意?

+1

https://github.com/treyhunner/django-simple-history –

回答

1

對我來說,有一個transaction模型的日期和時間存儲每個值,然後根據需要更新BankAccount值將是有意義的。

您可以將交易應用於交易表並更新BankAccount的餘額/值。

這將是設計這樣的標準方法。它也給你一個安全網,歷史應該的東西出問題允許的值等

的另一種選擇是隻是有一個transactions模型但有一個附加字段current_balance重新計算。這將用於在交易執行後存儲餘額。因此,用戶和貨幣的最新交易記錄也包含其當前餘額。