2015-09-16 27 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重新计算。这将用于在交易执行后存储余额。因此,用户和货币的最新交易记录也包含其当前余额。